前言
iOS7的新界面風格確實給UX設計師跟工程師帶來不少困擾,
尤其是UITableView的layout變動讓我花了不少時間去調整。
問題
我在cell.imageView裡頭放的圖片位置跑掉了。
嘗試
實作
// Not work 1. [cell.imageViewsetFrame:CGRectOffset(cell.imageView.frame,-15,0)]; // Not work 2. [tableViewsetContentOffset:CGPointMake(-15,0)]; // Not work 3. if([selfrespondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout=UIRectEdgeNone; // Not work 4. if([mainTablerespondsToSelector:@selector(setSeparatorInset:)]) [tableViewsetSeparatorInset:UIEdgeInsetsZero]; // Not work 5. if([mainTablerespondsToSelector:@selector(setContentInset:)]) [tableViewsetContentInset:UIEdgeInsetsZero];
實作
解決方法要點就是要實作custom cell.
第二點就是在custom cell的.m裡面 overwrite layoutSubviews 這個function.
因為只有iOS7會跑版, 所以多加個判斷式檢查.
#define IOS_SEVEN ([[UIDevice currentDevice].systemVersion floatValue] >= 7) - (void)layoutSubviews{ [superlayoutSubviews]; if(IOS_SEVEN){ self.imageView.frame=CGRectOffset(self.imageView.frame,-15,0); } }
Sent from Evernote |