Tag: uitextfield

UITableViewCell里面的UITextField刷卡删除问题

自iOS 8以来,我遇到了在自定义UITableViewCell上滑动以删除手势的问题。 这个问题似乎来自UITableViewCell的contentView中的UITextField。 这似乎是在iOS 8中的问题,我有相同的代码在iOS 7中正常工作。 我怎样才能保持UITextField可编辑和滑动删除手势在同一时间工作?

如何从文本字段发送文本到另一个视图控制器

我正在创build一个应用程序,其行为类似iPhone中的默认Messages.app,用户在UITextField编写文本消息,并点击Sendbutton时, ComposeViewController中的UITextField的值将被传输到表格单元格的UILabel中MasterViewController的自定义单元格以及另一个UILabel将从UITextField获取文本值的DetailViewController 。 DetailViewController是当用户点击UITableViewCells的单元格时加载的ViewController 。 我其实阅读了下面的相关文章,但是在我的结尾没有用到。 如何将文本从文本字段发送到另一个类? 如何从另一个文本字段中的一个文本字段中查看文本? 如何将文本字段值发送到另一个类 你能指导我如何正确实施这个? 我知道这很容易。 我只是不知道为什么它不工作。 ComposeVC是ModalViewController而DetailVC是当用户点击MasterVC表格中的单元格时加载的视图。 非常感谢! 下面是我的代码ComposeVC.h: UITextField *messageTextField; @property (nonatomic, retain) IBOutlet UITextField *messageTextField; – (IBAction)buttonPressed:(id)sender; 为ComposeVC.m synthesize messageTextField; -(IBAction)buttonPressed:(id)sender { DetailVC *detailVC = [[DetailVC alloc] init]; detailVC.messageText = messageTextField.text; } 为DetailVC.h NSString *messageText; @property (nonatomic, copy) NSString *messageText; 对于DetailVC.m @synthesize messageText; – (void)viewLoad { testLabel.text […]

UITableViewCell中的UITextField – 防止文本重置的方法

我有一个足够高的UITableView ,它需要滚动。 表中最顶端的单元格包含一个供用户input一些文本的UITextField 。 构build它的标准方法可能是创build并添加文本字段,并将其添加到在cellFOrRowAtIndexPath:创build或回收的单元格中cellFOrRowAtIndexPath:但是,此不断重新创build意味着在单元格滚出时,字段中input的文本将被删除并回到视图。 到目前为止我发现的解决schemebuild议使用UITextField委托来跟踪文本更改并将其存储在iVar或属性中。 我想知道为什么这是build议,而不是我使用的更简单的方法: 我在UITableViewController的init方法中创buildUITextField ,并立即将其存储在属性中。 在cellFOrROwAtIndexPath我简单地添加预先存在的字段,而不是初始化一个新的。 单元本身可以被回收而没有问题,但是因为我总是使用唯一的UITextField ,所以内容被维护。 这是一个合理的方法吗? 什么可能会出错? 任何改进(也许我仍然可以在cellForRowAtIndexPath创build字段,但首先检查属性是否为零?)

获取单元格或文本字段在这个单元格中的位置

我有一个拆分视图控制器:视图和表格视图。 在这个表格视图我有自定义单元格与文本字段。 我不知道会有多less个细胞,所以会自动生成。 现在我想滚动到文本框,当它成为FirstResponder。 我试过这样的事情: -(void) textFieldDidBeginEditing:(UITextField *)textField { CGPoint focusOnTextField = CGPointMake(0, 300 + textField.frame.origin.y); [scroller setContentOffset: focusOnTextField animated: YES]; } 300px – 我的TableView的开始位置。 所有似乎bounds.origin.y ,但textField.frame.origin.y总是等于0(像和bounds.origin.y btw)。 我以为我可以解决一个问题,如果获取单元格的位置,哪个文本字段处于活动状态,然后replacecell.frame.origin.y textField.frame.origin.y或类似的东西。 ================================================== ================= 我忘了说,我的tableviews滚动被禁用。 我遵循你的build议和代码示例,并解决它: – (UITableViewCell *)cellWithSubview:(UIView *)subview { while (subview && ![subview isKindOfClass:[UITableViewCell self]]) subview = subview.superview; return (UITableViewCell *)subview; } – (void)textFieldDidBeginEditing:(UITextField *)textField […]

UITextfield borderColor和宽度在文本字段的一边

我有一个文本字段设置如下所示: textField.borderStyle = UITextBorderStyleLine; textField.layer.borderColor = [[UIColor greenColor] CGColor]; textField.layer.borderWidth= 10.0f;' 但左边是否可以有一个更大的边界,而且是不同的颜色? 还是必须在那里用我想要的位置和位置定位一个drawRect?

iOS:自定义UITextField的inputView大小

我需要自定义UITextField's inputView的大小。 我分配给inputView自定义视图的大小已经是260×220但仍然是inputView显示为260×768( Portrait )和260×1024( Landscap )。 我试图改变inputView's Frame但仍然没有改变。 有无论如何,我可以修改UITextField's inputView Frame ,使其只在底部屏幕占据一定的空间? textField.inputView = numPadViewController.view; [textField.inputView setFrame:CGRectMake(0, 0, 260, 220)]; [编辑] 从这一点 ,我也试图跟进,并没有工作! numPadViewController.view.autoresizingMask = UIViewAutoresizingNone; textField.inputView = numPadViewController.view;

所有警报对话框消息和textField已被更改为单行。 请检查图像

以前所有的对话框和textField都运行良好。 但不是我不知道这些TextFields是如何突然变成单线三合一的。 (像这里的一些消息…) let alert = UIAlertController(title: "Cancel Booking !!", message: "Are you sure you want to cancel your booking?", preferredStyle: .alert) alert.addAction(UIAlertAction(title: "No", style: .default, handler: nil)) alert.addAction(UIAlertAction(title: "Yes", style: .default, handler: self.cancelMessageDialog)) self.present(alert, animated: true, completion: nil)

更改didEndEditing中的UITextField边框样式

我想在用户编辑时突出显示uitextfield,所以我将textfield的边框样式默认设置为UITextBorderStyleNone,并使用uitextfields代表如下: – (void)textFieldDidBeginEditing:(UITextField *)textField { [textField setBorderStyle:UITextBorderStyleBezel]; } – (void)textFieldDidEndEditing:(UITextField *)textField { [textField setBorderStyle:UITextBorderStyleNone]; } 边框样式被设置和渲染,但是当被调用时,没有样式不被应用。 我试图改变没有到另一个(比如说圆括号),但是那个渲染是正确的。 有人知道我怎么能得到这个工作?

如何检测UITextField中的KeyPress事件?

在UITextView有一个Changed事件来处理按键。 但是UITextField没有这样的事件。 如何检测UITextField的KeyPress事件? 这里有一个使用通知描述的方法,但是我的问题是我无法从TextFieldTextDidChangeNotification取消订阅。

当我符合协议时,关于分配给id <UITextFieldDelegate>的警告

我的视图控制器符合UITextFieldDelegate,但是当我尝试将我的文本字段的.delegate字段设置为self时,我收到警告: “从不兼容的types'AddReviewViewController * const __strong'分配给'id'” 我的头文件是这样的: #import <UIKit/UIKit.h> @interface AddReviewViewController : UIViewController <UITextFieldDelegate> @property (nonatomic) int storeID; @end 所以,正如你所看到的,我宣布它符合协议。 在.m文件中,我有这个: @property (strong, nonatomic) IBOutlet UITextView *reviewTextView; 在“@interface AddReviewViewController()”部分 然后,在viewDidLoad中,我这样做: _reviewTextView.delegate = self; 那是我得到警告的地方。 我已经尝试清理和重build,并重新启动XCode。 我在这里错过了很明显的东西吗 我遵守协议…. 编辑:感谢您的快速帮助。 在我睡眠不足的状态下,我不停地重读和发誓,这正是我所做的,但是,错字,错字。 我几分钟不能标记答案,但问题解决了,谢谢!