我相信我竭尽所能更改iPad的应用程序(一开始是用于iPhone的).我可以将构建状态切换到iPhone(仅),iPad(仅)或iPhone/iPad-,并且该应用在iPad或iPhone模拟器中启动.我可以随意做到这一点. 我添加了习惯用来检查iPad的iPad,并基本上是我的一个XIB,而不是使用XIB的字符串来创建控制器,而是将其用于iPad.因此,它是具有所有相同图形对象的iPad的新XIB(放大;-)).我将回调添加到使用IB. 正确函数 我可以看到一切正常,并在我的新iPad视图上到达,但是当我单击一个按钮时...没有什么像我的回调不起作用了.这是非常令人惊讶的,实际上我不知道在哪里看起来,因为我比较了iPhone和iPad视图之间的大多数参数,而且据我所知,它们相同. 这一定是该死的,所以如果你们中的一个人遇到了同样的问题,这是一个非常简单的答案...我想那是我错过的! 感谢您提前的帮助 欢呼, geebee edit1:根据要求的一些代码
以下是关于 xib 的编程技术问答
我有一个UiviewController" Controller1".该控制器与initwithnibname ...与" file1.xib"进行了安装. 我想动态地将" controler1"的XIB文件更改为" file2.xib" 恢复: " controler1" " file1.xib" 我想动态地有: " controler1" " file2.xib" 我该怎么做? 希望我很清楚. 解决方案 当您想更改UiviewController中的视图时,只需使用此代码: NSArray *nibObjs = [[NSBundle mainBundle] loadNibNamed:@"file2" owner:self options:nil]; UIView *aView = [nibObjs objectAtIndex:0]; self.view = aView; 其他解决方案 我有两个回复: 1)为什么 - 这不是您通常会做的
我有一个带有许多视图控制器的故事板项目,我创建了一个名字的类 "连接器. 请帮助我. 解决方案 您可以通过选择UIViewController的子类创建connector.h和connector.m时创建XIB,然后单击"使用XIB for用户界面"的复选框.如果您已经创建了.m&.h文件,则可以通过从窗口中选择视图并最终将其控制器自定义类设置为connector您可以添加一个新的GUI文件同一项目. 请参阅更多帮助. 用于显示视图控制器您可以使用以下代码 YourViewController *viewController=[[YourViewController alloc]initWithNibName:@"ViewControllerName" bundle:nil]; [self presentViewController:viewController animated:YES completion:nil]; 如果NavigatinControll
是否有一种方法 segue 从 xib-file (自定义tableViewCell)到Main.storyboard中的另一个 view> view> view> view> view> view>./p> 没有可能像主故事板那样拖动segue. 在单元格中,我有一个按钮,从我想更改视图的地方. 我该如何解决? 谢谢! 解决方案 您始终可以从故事板上实例化视图控制器,并在按钮上显示: let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("ViewControllerID") as UIViewController self.presentViewController(vc, animated: true, completion: nil) 其他解决方案
我有一个MyViewController.swift和a MyViewController.xib呈现MyViewController的布局. 我尝试了加载此视图控制器的不同方法,包括: //1 let myVC = UINib(nibName: "MyViewController", bundle: nil).instantiateWithOwner(nil, options: nil)[0] as? MyViewController //2 let myVC = NSBundle.mainBundle().loadNibNamed("MyViewController", owner: self, options: nil)[0] as? MyViewController //3 let myVC = MyViewController(nibName: "MyViewController", bundle: nil) 第三个是唯一成功的初始化,但前两个
我的视图是XIB,此视图包含一个计算器的按钮,我之所以这样做,是因为我需要一个用于我的应用程序的自定义键盘,我的应用具有一些需要此键盘的视图 问题是,如何将数据从视图发送到视图控制器? 在我的视图控制器中,我只有一个文本字段和XIB自定义类的视图 我使用Swift 4.2 这是我的xib 的代码 import UIKit class keyboardView: UIView { @IBOutlet var viewKeyboard: UIView! var textIntroduced = "" override init(frame: CGRect) { // for using CustomView in code super.init(frame: frame) custom() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder)
我的ViewController带有SEGUE到SecondViewController,名为" Tosecond". 在viewController中i加载custicView.xib let myCustomView = NSBundle.mainBundle().loadNibNamed("customView", owner: self, options: nil)[0] 在此CustomView中,我的按钮具有操作: viewController().goToSecond() 在ViewController中,我具有此代码 的功能 func goToSecond() { self.performSegueWithIdentifier("toSecond", sender: self) } 但是当我按下CustomView中的按钮时,我成为一个错误: ViewController没有标识符'Tosecond' 当我直接从ViewContro
我已经在 xcode4 中创建了基于视图的应用程序;创建应用程序时,我选择了iPhone作为设备系列: 使用以下文件创建了该应用程序: 我在 testushviewcontroller.xib 文件上设计了UI,并且在委会中文件中没有添加任何代码,该应用程序立即上传到 testushviewController.xib 视图,我对此感到非常高兴. 现在,我想添加 iPad xib .我该怎么做? (我知道如何在Xcode 3中执行此操作,但是我在委托文件中使用了一些代码,现在,如果我尝试使用相同的代码,则它不起作用,因为模板默认实现的工作方式有所不同 - 苹果使用 @class testushviewController 和s elf.window.window.rootviewController = self.viewcontroller ,它直接进入iPhone.xib.我不知道如何在不更改它的情况下解决它在xcode3) 中完成的整体操作 解决方案
我有一个带有三个XIB文件的基于视图的应用程序,每个文件都有自己的视图控制器.我如何从一个变成另一个?我用它从xib 1移至xib 2,但是当我使用相同的代码从xib 2移动到xib 1时,我在[self presentModal ....]行上获得exc_bad_access. MapView *controller = [[MapView alloc] initWithNibName:@"MapView" bundle:nil]; controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController:controller animated:YES]; 我如何从一个Xib自由移动到另一个XIB? 解决方案 我认为您正在尝试做的是一种模态观点,然后忽略它,对吗?如果是这种情况,则将以下代码放在用来删除它的方法中(例如 - (iba
可以从Xamarin中的自定义XIB创建和加载视图吗? 在Objective-C中就像: self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; self.window.rootViewController = self.viewController; 解决方案 1-创建您的XIB文件(示例myview). 2-在与XIB文件有关的.cs中添加此静态创建者方法: partial class MyView : UIView { public MyView (IntPtr handle) : base (handle) { } public static MyView Create() { var arr = N
使用Monotouch,我正在尝试进行自定义视图,因此我可以在屏幕中多次重复此视图. (这是一堆标签和按钮) 阅读了这篇文章的答案之后: 如何添加一个自定义视图到XIB文件中定义的视图 我必须靠近,但这似乎只允许我添加mycustomview.cs中定义的自定义视图,但是我要寻找的是一种使用单独的.xib在接口中设计我的自定义视图的方法构建器,仅使用相应的CS文件来添加逻辑. 如果我尝试制作具有相同名称的XIB,则内容将不可见. 遵循步骤: 在mycustomview.cs中我放了[Register("MyCustomView")]. 我实现了构造函数public MyView(IntPtr handle) : base(handle) {} 在接口构建器中打开ViewController.xib,添加一个Uiview并将其类别设置为mycustomview. 运行此代码时,我会看到新添加的uiview,而不是视图内的元素,即mycustomview.xib
我已经搜索了很多,但是我还不能做. 我的.xib UI带有一些按钮,与主故事板分开. 按下此按钮之一并显示另一个视图时,我需要执行操作. 我该如何直接从IBACTION中的代码中进行此类广告? 解决方案 您无法执行从Xib到Storybaord的表演, 而不是它需要 1)获取故事板的实例. 2)实例化故事板内的视图控制器(使用故事板ID). 3)将该ViewController推入您的导航堆栈. 这是示例代码 UIViewController *vc = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil] instantiateViewControllerWithIdentifier:@"yourVcIdentifier"]; [self.navigationController pushViewController:vc animated:YES]; @" ma
在iOS 6中,有一个新的"功能",它可以在用户处于左右的位置(希伯来语,阿拉伯语)上的XIB文件中的UI元素. (/library/ios/#documentation/miscellaneous/conceptual/iphoneostechoverview/iphoneostechnologies/iphoneostechnologies.html ) 它完全弄乱了我的界面. 有没有办法在不禁用自动layout的情况下禁用它? 解决方案 水平约束在接口构建器中具有"方向"选项.默认情况下,它设置为"导致尾随",从而导致镜像.您可以将其设置为"从左到右"以禁用镜像. 注意,通过编辑故事板/XIB文件会导致异常或混乱布局来更改所有约束,似乎接口构建器在更改方向设置时会创建/更改一些其他约束. 因此,我发现更改现有XIB/故事板的速度更快的方法是选择所有使用"导致尾随"设置的约束,将它们全部更改为"从左到右",然后检查是否有一些新的水平约束自动创建 - 它
Xcode允许通过接口构建器在.xib文件中创建启动屏幕.像通常的视图控制器一样,是否可以使用XIB执行一些代码?如果我们可以在应用程序启动时设置不同的文本/图像/等,那就太好了. 解决方案 不,这是不可能的. 显示启动屏幕时,您的应用将处于加载状态. 在显示启动屏幕时,即使- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions也不会完全执行. 所以很明显,您无法访问您的应用程序,因此您无法执行任何代码. 其他解决方案 我在这里尝试做同样的事情. :) 我真的很喜欢某些应用程序,每次启动应用程序时,它们都会在其中进行一些动态的问候文本和图像,例如"今天您看起来不错!","今天是星期五,美好的一天"等,这很可爱. 我进行了一些搜索,下面是如何做的: (我的代码是xcode 7,带有la
我有以下代码来测试视图是否正确配置(除其他外,我将monthScrollview放置为视图的子视图: @implementation ECBrowserViewControllerTests -(void)setUp { //-deviceSpecific simply adds suffix like '_iPad' main=[[ECBrowserViewController alloc] initWithNibName:[@"ECBrowserViewController" deviceSpecific] bundle:nil]; } -(void)testOutlets { STAssertNotNil(main.view, @"View outlet not set!"); STAssertNotNil(main.monthScrollView, @"no month scrollview"); STAssertTrue(main.mon
假设我的json将是 { {"CategoryID" : "1 Month Premium"}, {"CategoryID" : "1 Year Premium"}, {"CategoryID" : "1 Week Premium"}, {"CategoryID" : "1 Day Premium"}, ....Dynamically created server data. } 我将使用此库中的PagingMenuconTroller: pagingmenucontroller 基于我上面描述的JSON的基础,类别将有所不同,它们可能是4或5或更多,或多或少.因此,它的动态. 这就是我要开发的方式 您可以看到,我将在pagingmenu上显示categoryId.每个页面内的所有viewController都有常见的项目: uitableview,uiimageView,uibutton
我有一个iPad应用程序,该应用程序正在从我的Main ViewController(称为MainViewController)上进行,我调用并显示另一个由.xib文件创建的ViewController(调用IT NextViewController).第二个ViewController允许用户捕获这样的图像: - (IBAction)imageCapture:(id)sender { _myImage = [_nextView captureImage]; UIImageWriteToSavedPhotosAlbum(_myImage, nil, nil, nil); [self dismissViewControllerAnimated:YES completion:nil]; } 捕获了此图像后,我需要此图像现在将其传递回Chand ViewController(MainViewController),但老实说,我不确定该怎么做.我试图在我的N
i最初使用标签栏控制器为iPhone编程了我的应用程序,即视图控制器一次初始化并保持持久性 - 当我点击标签栏时,它不会初始化视图控制器的新实例. 在iPad上,我使用的是其他GUI是我的一个主视图,它总是留在屏幕上,其余的都是从主视点中进行弹出. 我希望弹出案保持持久性(仅一次初始化),这是最佳归档的方法.如果我一直在使用 *.xib文件,则可以在主视图中初始化popover的视图控制器,然后在segue时发送它们的副本,因此只有一个实例.但是我正在使用故事板. 解决方案 我找到了一个解决方案,实际上很容易,只需使用一个UipopoverController,然后使用要提供的视图控制器初始化它.通过这种方式,每次请求弹出窗口时,它都不会实例化新实例. if (!popoverController) popoverController = [[UIPopoverController alloc]initWithContentViewController:
我正在尝试将UiviewController的子类带有其在XIB文件中定义的视图中的子类.让我们称其为nibviewController. 这种方法的目的是在应用程序的多个屏幕中重复使用相同的ViewController. 我知道可以在代码中手动执行此操作,但是我正在寻找情节提要中的解决方案.我已经尝试了其他主题的建议>,但是什么都没有. ViewController在模拟器中正确显示,但在故事板中不显示.这是代码: 这是屏幕截图: 我是否误以为nibviewController的内容出现在故事板上? 解决方案 我是否误以为nibviewController的内容出现在故事板上? 是的,你错了.您的应用程序正常工作,因此您应该停止担心并继续进行. 通过从情节板中的视图控制器中删除视图,您已经专门指示了故事板:" do 不是对此视图控制器进行视图.在运行时,视图应来自 xib 文件,而不是您的文件." 这正是在运行时发生的.因此,只需