Tag: uiviewcontroller

UIView和UIViewController有什么区别?

我需要详细的解释如下: 我们使用UIViewController来做什么? 它有什么用处? 我有一个类如下所示: class one { UINavigationController *nav = …; two *secondObject = …; // By use of it, I have push the new view class two//ok } class two { … } 我怎样才能在第一类中使用secondObject ? 什么是从窗口阶层开始?

谁的观点不在窗口层次结构问题中?

警告:尝试呈现其视图不在窗口层次结构中的视图! 是的,在发布这个问题之前,我已经看过其他问题和答案。 他们没有帮我解决这个问题。 这是我正在做的。 我打电话给我的单身类socialHelper显示一个操作表,其中postToFacebook方法是一个选项select。 当点击这个动作时,我得到了上面的警告,并且不显示postToFacebook 。 我从UIViewController调用这个UINavigationController作为主控制器,而我的SocialHelper类是一个NSOject 。 – (void)postToFacebook { if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { slComposeViewController = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook]; [slComposeViewController setInitialText:@"Building stairs? Checkout StairsPro on the app store!"]; [slComposeViewController addImage:[UIImage imageNamed:@"StairsIcon120x120.png"]]; [slComposeViewController addURL:[NSURL URLWithString:@"https://itunes.apple.com/us/app/stairs-pro/id477032819?ls=1&mt=8"]]; [self presentViewController:slComposeViewController animated:YES completion:nil]; // I've also tried this, which shows the post window, but after hitting cancel or post, […]

调用方法从另一个UIViewController没有可见的影响

我有两个类,并希望从一个类按下button时调用方法。 我在我的.h文件中声明如下: -(void) imageChange; 我在我的.m中创build了这样的方法: -(void)imageChange { UIImage *image = [UIImage imageNamed: img]; [_MyImage setImage:image]; } 最后,我尝试从另一个类中调用方法: – (IBAction)Done:(id)sender { SecondViewController *theInstance = [[SecondViewController alloc] init]; [theInstance imageChange]; [self dismissViewControllerAnimated:YES completion:nil]; } 但是,当我在视图控制器中按“完成”, UIImage不会改变。 请注意: img是一个NSString值。

NSFetchedResultsController:在后台线程中获取

我有一个或多或less的基本UITableViewController NSFetchedResultsController 。 UITableViewController被推到navigationController's堆栈上。 但是推animation并不stream畅,因为NSFetchedResultsController的获取是在主线程上执行的,因此阻塞了UI。 我的问题是:如何在后台线程中执行NSFetchedResultsController的获取以保持animation的平滑? NSFetchedResultsController和委托方法如下所示: – (NSFetchedResultsController *)fetchedResultsController { if (_fetchedResultsController != nil) { return _fetchedResultsController; } NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; // Edit the entity name as appropriate. NSEntityDescription *entity = [NSEntityDescription entityForName:@"GPGrade" inManagedObjectContext:self.managedObjectContext]; [fetchRequest setEntity:entity]; // Set the batch size to a suitable number. [fetchRequest setFetchBatchSize:20]; //Set predicate NSPredicate *predicate […]

用Swift语言代表

我有两个控制器,我需要调用function的第一个控制器到第二个控制器:在第二个控制器我创build了协议和init委托类: protocol testProtocol { func testDelegate() // this function the first controllers } class SecondViewController: UIViewController { var delegate: testProtocol? …. } @IBAction func testDelegateClicked(sender : AnyObject) { delegate?.testDelegate() } 第一控制器 class ViewController:UIViewController,testProtocol { var secondController: SecondViewController = SecondViewController() override func viewDidLoad() { super.viewDidLoad() secondController.delegate = self } func testDelegate() { println("Hello delegate") }</pre> 但function没有被调用

从“Nib文件”加载UIViewController

我想从一个Nib文件创build一个UIViewController 。 在Google上,我发现我只能从Nib加载UIView。 但有些人build议我可以创build一个文件所有者被设置为ViewController的Nib文件(UIView)。 这就是我所做的,我没有崩溃,但视图只是不显示。 编辑:试图推这样的viewcontroller self.navigationController!.pushViewController(CoolViewController(), animated: true ); 但是推送时仍然显示黑屏 XCode 6.3 – 不使用故事板

我所有的IBOutlet都是在viewDidLoad中

我创build了一个我们可以调用MyViewController1的UIViewController 。 当我调用MyViewController1 ,我所有的IBOutlet在viewDidLoad (以及其他代码中)都是零 。 当我通过做这个控制器 MyViewController1 *vc = [[MyViewController1 alloc] init] , 如果我replaceMyViewController1另一个,例如MyViewController2 ,它的工作原理。 所以我想这个问题真的在MyViewController1 。 最后一件你可能想知道的事情是, MyViewController1实际上是MySuperViewController1一个子类,它是一个UIViewController 。 谢谢你的帮助 ! 编辑 我意识到我的情况可能更复杂。 这是我的确切文件: // MySuperViewController1 MySuperViewController1.h MySuperViewController1.m MySuperViewController1.xib // MyViewController1 MyViewController1.h MyViewController1.m 所以笔尖属于超类,而不是子类。 我可以这样做吗?

从UITableViewCell呈现UIAlertController

我想添加警报到自定义UITableViewCell呈现UIAlertView我需要从UIViewController调用presentViewController。 但是,我不知道如何从UITableViewCell类访问当前的UIViewController实例。 下面的代码是我试图用扩展名做这个。 我得到这个错误 expression式parsing为未使用的函数。 extension UIViewController { class func alertReminden(timeInterval: Int) { var refreshAlert = UIAlertController(title: "Refresh", message: "All data will be lost.", preferredStyle: UIAlertControllerStyle.Alert) refreshAlert.addAction(UIAlertAction(title: "Ok", style: .Default, handler: { (action: UIAlertAction!) in Alarm.createReminder("Catch the Bus", timeInterval: NSDate(timeIntervalSinceNow: Double(timeInterval * 60))) })) refreshAlert.addAction(UIAlertAction(title: "Cancel", style: .Cancel, handler: { (action: UIAlertAction!) in println("Handle Cancel […]

单个ViewController中的多个UITableview

我有一个viewcontroller ,我想显示3个表格(因为内容和表格属性是不同的)。 如何在一个viewcontroller为这3个表添加这些委托方法? – (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } – (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [array1 count]; } – (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {} 编辑 那么,如果我想添加一个uislider到一个表格行使用自定义cell ,当我滑动的值,我想改变显示亮度,我该怎么办? – (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { if (tableView == _displayThemes) { return 1; } else { return 1; } } – (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if(tableView==_displayThemes) { return […]

UIViewController viewWillAppear作为子视图添加时不会调用

我有一个UIViewController ,我从另一个视图控制器加载,然后将其视图添加到UIScrollView 。 self.statisticsController = [self.storyboard instantiateViewControllerWithIdentifier:@"StatisticsViewController"]; self.statisticsController.match = self.match; [self.scrollView addSubview:self.statisticsController.view]; 我已经把统计视图控制器中的断点,并调用viewDidLoad但viewWillAppear不是。 是因为我没有把它推到层次结构上吗?