约束视图到tableView的顶部

时间:2016-02-09 19:55:03

标签: ios uitableview autolayout

我在将视图定位在表格视图的最顶部时遇到问题。我在UINavigatonController中有UITableViewController。我将subview添加到它的视图中。我希望子视图始终位于屏幕的顶部,位于导航栏所在的位置。如果我设置顶部约束,将子视图的顶部固定到tableView的顶部,而不是显示在导航栏下方,而不是在屏幕的最顶部。如何解决这个问题呢?这是代码和图片:

@interface ViewController : UITableViewController
@end

@implementation ViewController

- (void)viewDidLoad 
{
    [super viewDidLoad];

    UIView* redSquare = [[UIView alloc] initWithFrame:CGRectZero];
    redSquare.backgroundColor = [UIColor redColor];
    [self.view addSubview:redSquare];
    [redSquare setTranslatesAutoresizingMaskIntoConstraints:NO];
    [redSquare.topAnchor constraintEqualToAnchor:self.view.topAnchor].active = YES;
    [redSquare.widthAnchor constraintEqualToConstant:100].active = YES;
    [redSquare.heightAnchor constraintEqualToConstant:100].active = YES;
}

-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 5;
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString* reuseIdentifier = @"ri";
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
    if (!cell)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier];
    }
    return cell;
}


@end

enter image description here

0 个答案:

没有答案