我正在添加一个UIViewController,它只有一个UILabel到主UIView。我这样创建它:
WEPopoverLabel *contentViewController = [[WEPopoverLabel alloc] init];
[contentViewController setContents:@"aaa"];
(孔码.m):
if (!self.popoverController) {
WEPopoverLabel *contentViewController = [[WEPopoverLabel alloc] init];
[contentViewController setContents:@"aaa"];
contentViewController.lContent.text=@"aaarrr";
self.popoverController = [[[popoverClass alloc] initWithContentViewController:contentViewController] autorelease];
self.popoverController.delegate = self;
self.popoverController.popoverContentSize = CGSizeMake(50.0f, 20.0f);
self.popoverController.passthroughViews = [NSArray arrayWithObject:sender];
CGRect rectForPopover = [self.view convertRect:sender.bounds fromView:sender];
[self.popoverController presentPopoverFromRect:rectForPopover inView:self.view permittedArrowDirections:(UIPopoverArrowDirectionUp|UIPopoverArrowDirectionDown) animated:YES];
[contentViewController release];
}
嗯,正在创建WEPopoverLabel,因为它出现在我的窗口中并且还执行setContents,因为我有一个在我的控制台中打印的NSLog。
但是,标签没有改变。这是WEPopoverLabel的内容:
@interface WEPopoverLabel : UIViewController{
IBOutlet UILabel * lContent;
}
-(void)setContents:(NSString *) theContent;
和.m
@implementation WEPopoverLabel
-(void)setContents:(NSString *) theContent{
lContent.text = theContent;
NSLog(@"texto fijado");
}
在.xib中,我已将lContent连接到File的所有者。
为什么没有更新UILabel的文本?
答案 0 :(得分:1)
在UIViewController中,您是否已将xib中的主视图连接到文件所有者以及连接标签?
您还在创建后将WEPopoverLabel添加到视图中:
[currentView addSubview:contentViewControler]
我会给标签一个背景颜色,这样你就能知道它是否真的被显示出来了。
答案 1 :(得分:0)
-(void)setContents:(NSString *) theContent{
lContent = [[UILabel alloc] init]
lContent.text = theContent;
NSLog(@"texto fijado");
}
那是正确的。检查一下: http://forums.macrumors.com/showthread.php?t=1002736
或者
@property (nonatomic, retain) IBOutlet UILabel *lContent;
并在此方法中:
self.lContent.text = theContent