小编Fen*_* Li的帖子

继续从dequeueReusableCellWithIdentifier获取nil?

我在storyboard文件中创建了一个标识符为"mainViewTableCell"的原型单元格,并将主表视图与名为"NTTableViewController"的自定义控制器类连接起来.我在NTTableViewController.m中实现了函数"tableView cellForRowAtIndexPath",如下所示:


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString* MAINVIEW_CELLIDENTIFIER = @"mainViewTableCell";
    UITableViewCell *newCell = [tableView dequeueReusableCellWithIdentifier: MAINVIEW_CELLIDENTIFIER];

    if (newCell == nil) {
        newCell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleSubtitle reuseIdentifier: MAINVIEW_CELLIDENTIFIER];
        [newCell autorelease];
        newCell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

    NTContactItem* currentItem = [self.contactItemContainer objectInContainerAtIndex: indexPath.row];
    NSString* firstName = currentItem.firstName;
    NSString* lastName = currentItem.lastName;

    NSString* fullName = [firstName stringByAppendingFormat: lastName];    
    [newCell.textLabel setText: fullName];
    [newCell.detailTextLabel setText: currentItem.mobilePhone];

    return newCell;
}
Run Code Online (Sandbox Code Playgroud)

但我继续从dequeueReusableCellWithIdentifier获取nil,并且每次都必须创建一个新的cell实例.

那么,有什么不对?

代码:项目

谢谢大家.

xcode objective-c uikit tableview ios

6
推荐指数
1
解决办法
7685
查看次数

如何访问从故事板加载的视图控制器的属性?

我有一个instantiateViewControllerWithIdentifier像这样创建的视图控制器实例:

TBSCTestController* testController = [self.storyboard instantiateViewControllerWithIdentifier: @"OTP"];
Run Code Online (Sandbox Code Playgroud)

TBSCTestController有一个IBOutlet名为的属性label,它与故事板中的标签相连:

IBOutlet albel

我想修改label使用此代码的文本,但没有任何变化:

testController.label.text = @"newText";
[self.view addSubview: testController.view];  
Run Code Online (Sandbox Code Playgroud)

testController是一个有效的实例,但是label为零.我错过了什么?

iphone cocoa storyboard

3
推荐指数
1
解决办法
1751
查看次数

当导航栏是超视图视图时,如何在导航栏后面放置视图?

我有一个UITableView和一个小的自定义视图.我希望自定义保留在导航栏下方,但在tableview上方.因此,当自定义视图上下移动时,看起来自定义视图会从导航栏的后面弹出.

首先,我将自定义视图作为tableview的子视图,一切似乎都很好.但是当滚动表视图时,自定义视图的位置也会改变,这不是我想要的.

然后我将导航栏设置为超级视图,但现在自定义视图保持在导航栏上方.我不知道如何更改父视图和子视图之间的z顺序.

那么有人可以给我一些建议吗?

谢谢!

iphone cocoa-touch objective-c uikit ios

0
推荐指数
1
解决办法
4047
查看次数

标签 统计

ios ×2

iphone ×2

objective-c ×2

uikit ×2

cocoa ×1

cocoa-touch ×1

storyboard ×1

tableview ×1

xcode ×1