Iphone 静态UILabel未显示在uiview中
我已经在Interface Builder中创建了一些静态UILabel文本,但是在运行应用程序时。标签没有显示在应用程序中,我不知道为什么 除标签外的所有其他东西,如文本字段、按钮都不起作用 有人能告诉我出了什么问题吗 这是在IB中 这是应用程序中的Iphone 静态UILabel未显示在uiview中,iphone,xcode,interface-builder,uilabel,Iphone,Xcode,Interface Builder,Uilabel,我已经在Interface Builder中创建了一些静态UILabel文本,但是在运行应用程序时。标签没有显示在应用程序中,我不知道为什么 除标签外的所有其他东西,如文本字段、按钮都不起作用 有人能告诉我出了什么问题吗 这是在IB中 这是应用程序中的 #import "SettingsViewController.h" @implementation SettingsViewController @synthesize drinkLimitText; // Implement view
#import "SettingsViewController.h"
@implementation SettingsViewController
@synthesize drinkLimitText;
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
appDelegate = (DrinkTabsAndNavAppDelegate *)[[UIApplication sharedApplication] delegate];
[super viewDidLoad];
NSLog(@"subView:%d",[self.view.subviews count]);
}
- (void) viewWillAppear:(BOOL)animated {
if ([appDelegate.drinkLimit floatValue] >= 0)
drinkLimitText.text = [NSString stringWithFormat:@"%.0f", [appDelegate.drinkLimit floatValue]];
else
drinkLimitText.text = @"0";
[super viewWillAppear:animated];
}
- (IBAction)textFieldDoneEditing:(id)sender{
NSDecimalNumber *tempValue = [[NSDecimalNumber alloc] initWithString:drinkLimitText.text];
if (tempValue == [NSDecimalNumber notANumber] || [tempValue doubleValue] < 0) {
NSString *msg = [[NSString alloc] initWithFormat: @"Make sure to enter a positive number."];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Hang on..."
message:msg
delegate:self
cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
[alert release];
[msg release];
} else {
[sender resignFirstResponder];
[self updateDrinkLimit];
}
[tempValue release];
}
- (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.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)updateDrinkLimit {
NSDecimalNumber *newLimit = [[NSDecimalNumber alloc] initWithString:[drinkLimitText text]];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([newLimit floatValue] >= 0) {
[defaults setFloat:[newLimit floatValue] forKey:kDrinkLimitKey];
appDelegate.drinkLimit = newLimit;
} else {
[defaults setFloat:0 forKey:kDrinkLimitKey];
appDelegate.drinkLimit = 0;
}
[newLimit release];
}
- (IBAction)openOntrackWebsite {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.ontrack.org.au/"]];
}
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
[drinkLimitText release];
[super dealloc];
}
@end
#导入“setingsviewcontroller.h”
@实现设置可视控制器
@合成drinklimitext;
//实现viewDidLoad以在加载视图(通常从nib)后执行附加设置。
-(无效)viewDidLoad{
appDelegate=(DrinkTabsAndNavAppDelegate*)[[UIApplication sharedApplication]委托];
[超级视图下载];
NSLog(@“子视图:%d”,[self.view.subviews count]);
}
-(无效)视图将显示:(BOOL)动画{
如果([appDelegate.drinkLimit floatValue]>=0)
drinkLimitText.text=[NSString stringWithFormat:@“%.0f”,[appDelegate.drinkLimit floatValue]];
其他的
drinkLimitText.text=@“0”;
[超级视图将显示:动画];
}
-(iAction)textFieldDoneEditing:(id)发件人{
NSDecimalNumber*tempValue=[[NSDecimalNumber alloc]initWithString:drinkLimitText.text];
如果(tempValue==[NSDecimalNumber notANumber]| |[tempValue doubleValue]<0){
NSString*msg=[[NSString alloc]initWithFormat:@“确保输入正数。”];
UIAlertView*警报=[[UIAlertView alloc]
initWithTitle:@“等一下…”
信息:msg
代表:赛尔夫
取消按钮:@“确定”
其他按钮:无];
[警报显示];
[警报发布];
[味精释放];
}否则{
[发送方辞职第一响应方];
[自更新链接限制];
}
[价值释放];
}
-(无效)未收到记忆警告{
//如果视图没有superview,则释放该视图。
[超级记忆警告];
//释放所有未使用的缓存数据、图像等。
}
-(无效)视图卸载{
//释放主视图的所有保留子视图。
//例如,self.myOutlet=nil;
}
-(无效)UpdatedLink限制{
NSDecimalNumber*newLimit=[[NSDecimalNumber alloc]initWithString:[drinkLimitText text]];
NSUserDefaults*默认值=[NSUserDefaults standardUserDefaults];
如果([newLimit floatValue]>=0){
[默认设置浮点:[newLimit floatValue]forKey:kDrinkLimitKey];
appDelegate.drinkLimit=newLimit;
}否则{
[默认值setFloat:0 forKey:kDrinkLimitKey];
appDelegate.drinkLimit=0;
}
[新限额释放];
}
-(iAction)OpenOnTrack网站{
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@”http://www.ontrack.org.au/"]];
}
-(无效)解除锁定{
[[NSNotificationCenter defaultCenter]移除观察者:self];
[drinkLimitText发布];
[super dealoc];
}
@结束
清理项目并再次构建
这是Xcode最常见的问题之一。请确保已保存项目。
还要检查您是否已添加代码的子视图。
清洁然后运行。。。
这会解决你的问题
希望对您有所帮助……您在interface builder中的层次结构应如下所示:
UIView
--- Label
--- TextField
--- Label
--- UIButton
我怀疑是:
UIView
--- Label
--- UIButton
Label
Label
这是主窗口中的xib示例还是选项卡栏项的ViewController中的示例?另外,您是否记得将视图控制器属性中的NIB名称更改为名称,通常称为SettingsViewController(xib文件的名称),这是使用Xcode创建类时通常生成的名称?在屏幕截图中,显示“从“设置”查看”,这可能不正确。我的问题是没有正确设置约束。确保设置宽度和高度约束,并通过单击该三角形约束按钮添加任何缺少的约束
修复约束后,它们将显示。然后检查您是否已在视图中正确添加标签。检查,仍不起作用。只有2个whown与IBOutlet连接,其余的是静态的,选中的颜色不是界面生成器的白色上传屏幕快照,您正在添加标签。不,我没有任何addSubView命令,有趣的是,无论我在视图中添加了什么,除了文本fieldhi macboy之外,什么都没有显示,xib示例来自主窗口,设置是我为类settingViewController重命名的名称