1. ??iOS7以后帶有導(dǎo)航欄的控制器的視圖坐標是從屏幕左上角開始計算了讥此,這和我們之前一直從導(dǎo)航欄以下開始計算的使用習(xí)慣有點沖突,解決的方法就是在viewDidLoad里面添加下面一行代碼:
self.edgesForExtendedLayout = UIRectEdgeNone;
2. ? UITableView不想出現(xiàn)多于數(shù)據(jù)個數(shù)的cell分割線摩窃,只要在初始化tableview的時候加上下面一句代碼即可:
m_tableView.tableFooterView = [[UIView alloc]init];//m_tableView是定義的成員表視圖對象
3. ? UITextView控件兽叮,文本默認是居中顯示的芬骄,如果想讓它在輸入的時候就頂部對齊,只需在其初始化前(最好在viewDidLoad里面)添加下面一行代碼即可:
self.automaticallyAdjustsScrollViewInsets = NO;
4. ? 修改UITextField的placeholder占位語的顏色和字體鹦聪。這里提供兩種比較實用的方法账阻,代碼如下:
(1)通過富文本屬性設(shè)置。
//m_phoneNumTxtfld是一個成員變量
m_phoneNumTxtfld = [[UITextField alloc]initWithFrame:CGRectMake(50, 0, kMainWidth, 42)];
m_phoneNumTxtfld.font = [UIFont systemFontOfSize:10.0];
m_phoneNumTxtfld.placeholder = @"請輸入用戶名/手機號";
m_phoneNumTxtfld.keyboardType = UIKeyboardTypeNumberPad;
m_phoneNumTxtfld.delegate = self;
[m_phoneNumTxtfld setValue:[UIColor redColor]forKeyPath:@"_placeholderLabel.textColor"];
[m_phoneNumTxtfld setValue:[UIFont? ? systemFontOfSize:10.0]forKeyPath:@"_placeholderLabel.font"];
[view addSubview:m_phoneNumTxtfld];
(2)通過KVC設(shè)置泽本。
//m_phoneNumTxtfld是一個成員變量
m_phoneNumTxtfld = [[UITextField alloc]initWithFrame:CGRectMake(50, 0, kMainWidth, 42)];
m_phoneNumTxtfld.font = [UIFont systemFontOfSize:10.0];
m_phoneNumTxtfld.keyboardType = UIKeyboardTypeNumberPad;
m_phoneNumTxtfld.delegate = self;
NSString *holderText = @"請輸入用戶名/手機號";
NSMutableAttributedString *placeholder = [[NSMutableAttributedString alloc]initWithString:holderText];
[placeholder? addAttribute:NSForegroundColorAttributeName
value:[UIColor redColor]
range:NSMakeRange(0, holderText.length)];
[placeholder? addAttribute:NSFontAttributeName
value:[UIFont systemFontOfSize:10.0]
range:NSMakeRange(0, holderText.length)];
m_phoneNumTxtfld.attributedPlaceholder = placeholder;
[view addSubview:m_phoneNumTxtfld];
注:占位語的字體大小要和文本的字體大小保持一致淘太,否則可能會出現(xiàn)上下不對齊的問題。
5. ?UITableVIew 分隔線左對齊
iOS7之前表視圖的分割線是左對齊模式规丽,iOS7之后開始分割線距離左邊有一定距離了蒲牧,個人感覺這個間隔其實挺好看的,整體看著也舒服多了嘁捷,但是有的產(chǎn)品非要設(shè)計成以往的形式造成,那作為開發(fā)的我們也是沒有辦法的,只能照做(如果你說服不了他的情況)雄嚣。其實設(shè)置左對齊的方式比較多晒屎,比如自定義分割線等,這里只說一個比較簡單的方法缓升,直接用表視圖的委托方法來做鼓鲁。代碼如下。
//分割線左對齊
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
[cell setSeparatorInset:UIEdgeInsetsZero];
}
if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
[cell setLayoutMargins:UIEdgeInsetsZero];
}
if([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]){
[cell setPreservesSuperviewLayoutMargins:NO];
}
}
6.? 設(shè)置UITableViewCell 打勾選擇模式UITableViewCellAccessoryCheckmark的顏色
這個很簡單港谊,一句代碼搞定骇吭,不多說了,直接代碼說明吧
cell.tintColor = [UIColor redColor];//設(shè)置紅色的打勾歧寺。