ios开发笔记买不来的iOS实用技巧iOS Developer

iOS实用知识点总结

2016-04-19  本文已影响1473人  小虎哥
UITextField *textField = [[UITextField alloc] init];
textField.frame = CGRectMake(50, 40, 120, 40);
//设置boardStyle属性
textField.borderStyle = UITextBorderStyleRoundedRect;
[self.view addSubview:textField];
    self.tableView.sectionFooterHeight = 10;
    self.tableView.sectionHeaderHeight = 10;
//NO不自动调整内边距
self.automaticallyAdjustsScrollViewInsets = NO;
    //重新刷新自己和子控件的所有内容
    [view layoutIfNeeded];
    //重新排布子控件的frame
    [view setNeedsLayout];
    //重新调用drawRect方法
    [view setNeedsDisplay];
//contentEdgeInsets:会影响按钮内部的所有内容
button.contentEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 10);
//imageEdgeInsets:只影响按钮内部的imageView
button.imageEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 10);
//titleEdgeInsets:只影响按钮内部的titleLable
button.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 10);
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView == self.tableView)
    {
        CGFloat sectionHeaderHeight = 25; //sectionHeaderHeight
        if (scrollView.contentOffset.y <= sectionHeaderHeight&&scrollView.contentOffset.y >= 0) {
            scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
        } else if (scrollView.contentOffset.y >= sectionHeaderHeight) {
            scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
        }
    }
}
sectionHeadersPinToVisibleBounds
sectionFootersPinToVisibleBounds
"*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'invalid nib registered for identifier (Cell) - nib must contain exactly one top level object which must be a UITableViewCell instance'"
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{ 
    if ([text isEqualToString:@"\n"]) {
        [textView resignFirstResponder];
        return NO;
    } 
    return YES;
}
- (NSArray *)sortedArrayUsingComparator:(NSArray *)array{
    return [array sortedArrayUsingComparator:^NSComparisonResult(id  _Nonnull obj1, id  _Nonnull obj2) {
        if ([obj1 tag]< [obj2 tag]) return NSOrderedAscending;
        else if ([obj1 tag] > [obj2 tag]) return NSOrderedDescending;
        else return NSOrderedSame;
    }];
}
// 添加分隔线
-(void)viewDidLayoutSubviews
{
    if ([self.taskDetailTV respondsToSelector:@selector(setSeparatorInset:)]) {
        [self.taskDetailTV setSeparatorInset:UIEdgeInsetsMake(0,0,0,0)];
    }
    
    if ([self.taskDetailTV respondsToSelector:@selector(setLayoutMargins:)]) {
        [self.taskDetailTV setLayoutMargins:UIEdgeInsetsMake(0,0,0,0)];
    }
}

-(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];
    }
}
 dispatch_async(dispatch_get_main_queue(), ^{
                [self presentViewController:nextVC animated:NO completion:^{
                }];
            });

[self.view.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
Snip20161212_15.png

解决方案:

  if ([[UIDevice currentDevice].systemVersion doubleValue] >= 9.0)
    {
        self.xxxTableView.cellLayoutMarginsFollowReadableWidth = NO;
    }

不断总结更新,欢迎补充……

上一篇 下一篇

猜你喜欢

热点阅读