在我的笔尖中,我有一个UITextView
组件。
在我的UIViewController
我有一个UITextView
成员字段,我使用IB来确保两者是连接的(至少我认为我是通过拖动“文件所有者”并删除它在IB的UITextView
上并选择我的成员变量。
现在,当我通过setText:
更新文字时,UITextView
仍为空白。
当我进入我的代码时,成员变量(名为textView
)为nil
。
所以我猜我没有正确使用过IB。如何确保此变量已连接到UITextView
图形元素?
这是代码
// My interface looks like
#import <UIKit/UIKit.h>
@interface DetailsController : UIViewController
{
UITextView *textView;
}
@property (nonatomic, retain) IBOutlet UITextView *textView;
@end;
// and the implementation
#import "DetailsController.h"
@implementation DetailsController
@synthesize textView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
// Custom initialization
}
return self;
}
- (void)dealloc
{
[super dealloc];
}
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
// used pressed the "Done" button
- (IBAction)done
{
[self dismissModalViewControllerAnimated:YES];
}
- (void)setDetails: (NSString *)detail withQuote:(NSString *)quote
{
NSLog(@"%@", textView);
[textView setText:detail];
}
@end
答案 0 :(得分:0)
连接插座,构建项目并运行后保存nib文件,如果已连接
,它应该可以工作答案 1 :(得分:0)
我无法看到你正在调用setText,但我认为你试图在初始化程序中执行此操作。如果您以编程方式创建GUI,或者使用其他viewWill / viewDid ...方法,则在使用XIB或loadView时,不应在viewDidLoad之前完成GUI代码。
原因是因为视图在实际需要之前未加载,因此称为延迟加载。你应该通过Google获取更多信息。