无助的TOM 2013-08-19 12:48 采纳率: 100%
浏览 11803
已采纳

如何初始化一个UITextField的内容,让其默认显示一些文字

我创建了一个single View的工程,然后在xib上拖了一个UITextField,我想在这个视图显示时,文本框里能够默认显示些文字,不知道该怎么办。我是这样做的,但是就是文本框里面什么也不显示,以下是我的代码,不知道哪里出问题了,我也做了控件关联
// TestViewController.h
#import

@interface TestViewController : UIViewController
{
__weak IBOutlet UITextField *field;
}

  • (void)setField:(NSString *)str; @end

// TestViewController.m

#import "TestViewController.h"

@interface TestViewController ()

@end

@implementation TestViewController

  • (void)viewDidLoad
    {
    [super viewDidLoad];

    [self setField:@"hhhh"];
    }

  • (void)setField:(NSString *)str
    {
    field.text = str;
    }
    @end

// TestAppDelegate.m
#import "TestAppDelegate.h"
#import "TestViewController.h"
@implementation TestAppDelegate

  • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Override point for customization after application launch.

    TestViewController *tvc = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];

    [tvc setField:@"hhhh"];

    self.window.rootViewController = tvc;

    [self.window makeKeyAndVisible];

    return YES;
    }

  • 写回答

1条回答 默认 最新

  • leewolf 2013-08-20 01:50
    关注

    我是一个菜鸟, 不过对于你的问题我个人理解是这样的,说的不好别骂街,别托.

    1,UITextFileld一般都是用强引用或者不声明__weak, __strong让他默认装态.
    2.如果单纯想给textField一个默认值的话可以使用textField.placeholder = @"默认显示字符";(这种默认值编辑时候消失) 或者 textField.text=@"显示字符";

    我按照你的代码实验 了下:
    1,如果使用__weak IBOutlet UITextField *field; 无法然后使用set函数赋值, 也不能在delegate里边调用并赋值,

    2,若果使用@property (weak,nonatomic)IBOutlet UITextField *textField;(不能使用set函数)
    可以在代理里边调用, 你的那个写法赋值可定会失败的, 因为你写到了rootViewController上边,也就是你的View还没生命
    self.window.rootViewController = tvc;
    [self.window makeKeyAndVisible];
    [tvc setField:@"hhhh"];这样就会显示了;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格