在開發(fā)iso應(yīng)用中需要考慮到ip4的3.5寸屏幕和ip5的4寸屏幕的高度不一樣的問題。常見的問題有滾動條位置,底部被擋住等情況;我遇見是tableview中添加下拉上提刷新功能時刷新指示器顯示位置的問題。
我自己根據(jù)網(wǎng)上已有代碼寫了一個下拉上提刷新插件:http://git.oschina.net/supdo/SDRefresh;
插件要根據(jù)tableview的高度來設(shè)置刷新指示器顯示位置,為了正常工作,我在應(yīng)用中對tableview的高度進(jìn)行手工設(shè)置,代碼如下:
- (void)viewDidLayoutSubviews{ [super viewWillLayoutSubviews]; CGSize screenSize = [UIScreen mainScreen].bounds.size; self.myBlogTable.frame = CGRectMake(0, 0, screenSize.width, screenSize.height); self.myBlogTable.contentInset = UIEdgeInsetsMake(64+50, 0, 49, 0); self.myBlogTable.scrollIndicatorInsets = UIEdgeInsetsMake(64+50, 0, 49, 0); if (!isLayoutSubview) { isLayoutSubview = YES; self.blogParser.header = [SDRefreshHeader addHeader:self.myBlogTable headerDelegate:self]; self.blogParser.footer = [SDRefreshFooter addFooter:self.myBlogTable footerDelegate:self]; loadMsg = [[SDMessage alloc] initWithSuper:self.view width:200]; loadMsg.mode = SDMessageModeTextLoading; loadMsg.position = SDMessagePositionMiddle; [loadMsg showMessage:@"加載中..."]; [self.hdWeb DefaultPage]; }}
這樣根據(jù)屏幕高度來設(shè)置tableview高度后插件正常工作,此時有個地方需要注意,就是tableview不能放在第三層的view中,我遇到的問題就是將tableview放到第三層的view中,此處設(shè)置的高度自適應(yīng)代碼無效。
不過本質(zhì)而言應(yīng)該是storyboard的某個地方需要設(shè)置,我還沒找到。
新聞熱點
疑難解答