小编Chu*_*uck的帖子

自定义笔尖UITableViewCell高度

我在IB中创建了一个自定义UITableViewCell,将它链接到根视图控制器的属性,然后在CellForRowAtIndexPath中进行设置.但我绘制的细胞的高度与我在IB中建立的高度不一样,建议?这是一些截图和代码. 替代文字

替代文字

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        static NSString *AddressCellIdentifier = @"AddressCellIdent";

    UITableViewCell *thisCell = [tableView dequeueReusableCellWithIdentifier:AddressCellIdentifier];
    if (thisCell == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"AddressCell" owner:self options:nil];
        thisCell = addressCell;
        self.addressCell = nil;
    }

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

addressCell是@property(非原子,赋值)IBOutlet UITableViewCell*addressCell;,并在IB中链接到文件的所有者(表视图控制器).

我正在使用Apple的表格视图编程指南中的示例.

iphone objective-c uitableview

9
推荐指数
3
解决办法
8049
查看次数

自定义UITableViewCell重绘问题

我有一个自定义的UITableView单元格,我已经添加了一个文本框进行编辑,根据编辑模式显示和隐藏.我还尝试添加一条显示编辑时的垂直线,并且它会这样做,但我遇到了一些绘图问题.我刚刚添加了绿色复选标记rightView以开始处理输入验证反馈,我看到了类似的问题.

这是单元格的代码,也是我的cellForRowAtIndexPath的一部分.

#import <UIKit/UIKit.h>

    @interface EditableCellStyle2 : UITableViewCell {
        CGRect editRect;
        UITextField *editField;
        UIView *lineView;
    }

    @property (nonatomic, readonly, retain) UITextField *editField;
    @property (nonatomic, readonly, retain) UIView *lineView;

    @end
Run Code Online (Sandbox Code Playgroud)
#import "EditableCellStyle2.h"


@implementation EditableCellStyle2

@synthesize editField;
@synthesize lineView;


- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {

    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code.
        editRect = CGRectMake(83, 12, self.contentView.bounds.size.width-83, 19);

        editField = [[UITextField alloc] initWithFrame:editRect];
        editField.font = [UIFont boldSystemFontOfSize:15];
        editField.textAlignment = UITextAlignmentLeft;
        editField.textColor = [UIColor blackColor];
        editField.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitableview

9
推荐指数
2
解决办法
3738
查看次数

可编辑的UITableView,单元格中的UITextField,按下完成后存储数据

我现在一直在敲打这一天一两天,并且不能按照我想要的方式让它工作.我正在尝试模仿地址簿的联系人编辑页面(我知道以前曾经问过).

我有一个自定义UITableViewCell,它包含一个UITextField,它位于与详细文本标签相同的位置,当按下编辑按钮时,它们隐藏和取消隐藏以显示正确的项目.

我正在使用UITextFieldDelegate将文本字段中输入的信息存储到字典中,这样我就可以在用户单击"完成"时将它们保存到视图数组和核心数据模型中.

现在的问题是:如果文本输入到字段中,没有选择其他字段/单元格,并且按下完成,则更改的信息将被忽略,它永远不会存储在字典中.

我的代码现在只在按下完成时将字典的内容打印到NSLog,因为我没有看到更新单元格的点,直到字典的状态首先正确.

我列出了所有带有日志打印的UITextFieldDelegate方法,当每个东西运行时试图跟踪事物的流动情况,但它并没有帮助我解决这个特定的问题.

这是代码:

EditableCellStyle2.h

@interface EditableCellStyle2 : UITableViewCell {
    CGRect editRect;
    UITextField *editField;
}

@property (nonatomic, readonly, retain) UITextField *editField;

@end
Run Code Online (Sandbox Code Playgroud)

EditibleCellStyle2.m

#import "EditableCellStyle2.h"

@implementation EditableCellStyle2

@synthesize editField;

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {

    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code.
        editRect = CGRectMake(83, 12, self.contentView.bounds.size.width-83, 19);

        editField = [[UITextField alloc] initWithFrame:editRect];
        editField.font = [UIFont boldSystemFontOfSize:15];
        editField.textAlignment = UITextAlignmentLeft;
        editField.textColor = [UIColor blackColor];
        editField.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleHeight;

        [self.contentView addSubview:editField];

        self.editField.enabled = NO; …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c uitableview ios

5
推荐指数
1
解决办法
5575
查看次数

将Core Data对象转换为具有可能的nil对象的NSDictionary

我有一个核心数据对象,有一堆可选值.我正在推送一个表视图控制器并向它传递一个对象的引用,以便我可以在表视图中显示它的内容.因为我希望以特定方式显示表视图,所以我将核心数据对象中的值存储到字典数组中,然后使用该数组填充表视图.这很好用,我编辑和保存工作正常.(我没有使用获取的结果控制器,因为我没有任何可以排序的东西)

我当前代码的问题是,如果对象中的一个项目丢失,那么我最终会尝试将nil放入字典中,这将无效.

我正在寻找一种干净的方法来处理这个问题,我可以做到以下几点,但我不禁感到有更好的方法.

*passedEntry是在推送时传递给视图控制器的核心数据对象,假设它包含firstName,lastName和age,都是可选的.

if ([passedEntry firstName] != nil) {
    [dictionary setObject:[passedEntry firstName] forKey:@"firstName"]
}
else {
    [dictionary setObject:@"" forKey:@"firstName"]
}
Run Code Online (Sandbox Code Playgroud)

等等.这有效,但感觉很糟糕,特别是如果我最终在核心数据对象中添加更多项目.

iphone core-data objective-c

4
推荐指数
1
解决办法
1634
查看次数

Subclassed UITableViewCell,使删除按钮不显示

我试图模仿联系人应用程序中可编辑表格单元格的行为.我已经将UITableViewCell子类化,添加了我自己的UITextField,并设置了行为,如果按下编辑,标签将被隐藏,我的文本字段将被启用,并显示,反之亦然.那部分工作正常.

我不希望我的用户能够删除行,但我无法找到在何处/如何禁用和隐藏单元格左侧的删除按钮.任何意见,将不胜感激.

iphone objective-c ios

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

标签 统计

iphone ×5

objective-c ×5

uitableview ×3

ios ×2

core-data ×1