gpt4 book ai didi

ios - 只有当核心数据和 NSFetchedResultsController 满足某些条件时,才在 UITableViewCell 中实现 UIImageView

转载 作者:行者123 更新时间:2023-11-29 03:04:17 25 4
gpt4 key购买 nike

我是 iOS 开发的新手,我有一个问题,我认为答案很简单,但我似乎找不到实现它的方法。

我有一个 UITableViewController 由用户点击 NavigationBar 上的按钮填充,用户在其中填写名称、事件、子事件、金额、日期、状态和可选注释。数据被保存到 CoreData 并且 UITableViewNSFetchedResultsController 填充。

注释完全是可选的,它采用 UITextView 的形式,其中其他基于文本的条目是 UITextFields

notes 属性是事务实体的一部分,是一个 NSString

因为无法(据我所知)为 UITextView 设置占位符,所以我将默认文本设置为“Additional Notes:”,末尾有空格。

在我的 UITableViewController 中,我希望 UIImageView(表示注释)仅在以下情况出现:

1) 用户键入与“附加说明:”完全不同的内容 &

2) 如果notes textView的长度大于0

所以在我的 UITableViewController cellForRow 中,我有:

if (![transaction.notes isEqualToString:@"Additional Notes: "] && [transaction.notes length] > 0)
{
UIImageView *pin = [[UIImageView alloc] initWithFrame:CGRectMake(13, 30, 24, 25)];
pin.image = [UIImage imageNamed:@"pin"];
[customCell addSubview:pin];
}

这在某种程度上是有效的。如果我将文本添加到“附加说明:”,它会将 PIN 添加到单元格。

问题

如果我在注释中删除了几个字母,所以“Additional Not”,它会将 if 语句视为 true,因此将 pin 附加到该语句。

如果我有一个名为“Additional Notes: This is a test note”的笔记,它会在单元格中显示 PIN。但是,如果我去编辑该条目并删除“This is a test note”,那么它会恢复到默认值,它不会从这个 UITableViewController 的单元格中删除 PIN。

所以我的问题是:

1) 我可以为笔记添加一个占位符吗?这将解决我所有的问题

2) 如果没有,我怎样才能有效地实现这个过程,所以如果用户只删除一两个字母就不会误导他们认为他们有注释

3) 在 UITableViewController

中适当反射(reflect)更新的注释

非常感谢任何指导

最佳答案

使用这个:-

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView {

if([[textView text] isEqualToString:@"Additional Notes: "]){
[textView setText:@""];
}
return YES;

}

- (BOOL)textViewShouldEndEditing:(UITextView *)textView {

if([[[textView text] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] isEqualToString:@""]){
[textView setText:@"Additional Notes: "];
}
return YES;
}

这将处理仅包含空格和换行符的情况。

关于ios - 只有当核心数据和 NSFetchedResultsController 满足某些条件时,才在 UITableViewCell 中实现 UIImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22954747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com