2014-01-06 2 views
0

Надеюсь, кто-то может с этим справиться!UIButtons, похоже, не влияет на другие элементы управления моего интерфейса.

Я изучал учебники по созданию приложений для iOS и загрузил примерный проект.

Этот проект, кажется, запускается и компилируется для всех остальных, кроме меня!

Когда я запускаю приложение в симуляторе, ни одна из кнопок или текстовых полей не работает. Отклика и ошибок нет.

У кого-нибудь еще была эта проблема?

FirstViewController.h

#import <UIKit/UIKit.h> 

@interface FirstViewController : UIViewController { 
UITextField *tempTextBox; 
UILabel  *calcResult; 
} 
@property (nonatomic, retain) IBOutlet UILabel *calcResult; 
@property (nonatomic, retain) IBOutlet UITextField *tempTextBox; 
- (IBAction) degreeConvert:(id)sender; 
- (IBAction) backgroundTouchedHideKeyboard:(id)sender; 

@end 

FirstViewController.m

#import "FirstViewController.h" 

@implementation FirstViewController 
@synthesize tempTextBox, calcResult; 


- (void)didReceiveMemoryWarning 
{ 
[super didReceiveMemoryWarning]; 
// Dispose of any resources that can be recreated. 
} 

-(void)degreeConvert:(id)sender 
{ 
NSLog(@"IBAction triggered succesfully"); 
double fahren = [tempTextBox.text doubleValue]; 
double celcius = (fahren - 32)/1.8; 

[tempTextBox resignFirstResponder]; 

//create new string with celcius formatting 
NSString *convertResult = [[NSString alloc] initWithFormat:@"Celcius:%f", celcius]; 
//output converted result to calcResult Label 
calcResult.text = convertResult; 

} 

-(void) backgroundTouchedHideKeyboard:(id)sender 
{ 
[tempTextBox resignFirstResponder]; 

} 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 
self.tempTextBox = nil; 
self.calcResult=nil; 
} 

@end 
+0

Этого недостаточно, чтобы ответить на вопрос. – trojanfoe

ответ

0

Здесь вы убиваете элементы управления в viewDidLoad:

self.tempTextBox = nil; 
self.calcResult=nil; 

закомментируйте эти строки. И он должен работать.

+0

Работает! Большое вам спасибо, сейчас чувствую себя глупо. – CaledonianCoder

+0

Не чувствуйте себя глупо. Просто отправьте код раньше, в следующий раз. ;-) – DerWOK

0

Это звучит ваши кнопки не подключены к коду.

Два способа, чтобы узнать:

1.) Откройте помощник вида в Xcode (кнопка в правом верхнем углу, маленький дворецкого), убедитесь, что * .h файл контроллера сцены появляются на правой и ваша сцена слева. Затем наведите указатель мыши на серые круги литтера, которые показывают слева от вас линии IBAction. Затем, когда вы наведите курсор на серые круги, соответствующая кнопка будет подсвечена. См. Метод onBtnProtocol ниже.

enter image description here

2.) Когда вы видите только сцену в интерфейсе строителя (т.е. не помощник View), выберите одну из кнопок, то отображаться инспектор Connection. Затем вы увидите, если ваша кнопка подключена к методу вашего контроллера. См. Раздел «Прикоснуться внутрь» на изображении ниже.

enter image description here

Если проводка в порядке с вашей POIN зрения, а затем положить некоторые

NSLog(@"Hey my IBAction was triggered"); 

строки журнала в своих методах и посмотреть, если проводка действительно работает.

Если он не работает, вернитесь с более подробной информацией.

+0

Проводка, похоже, в порядке, однако только что видели эти ошибки: Temp Converter [2943] : CGContextSetFillColorWithColor: недопустимый контекст 0x0. Это серьезная ошибка. Это приложение или используемая им библиотека использует недопустимый контекст и тем самым способствует общему ухудшению стабильности и надежности системы. Это уведомление является любезностью: устраните эту проблему. Это станет фатальной ошибкой в ​​предстоящем обновлении. – CaledonianCoder

+0

Существует несколько ошибок аналогичного характера, связанных с классом CG. – CaledonianCoder

+0

Также NSLog показывает, что методы фактически запускаются, на экране ничего не происходит.Клавиатура застряла на экране, несмотря на использование [tempTextBox resignFirstResponder]; чтобы очистить :( – CaledonianCoder

Смежные вопросы