我有一个应用程序,我想支持多个方向.我有两个.xib文件,我想使用myViewController.xib myViewControllerLandscape.xib. myViewController.xib并存在于project/Resources中,myViewControllerLandscape.xib并存在于根项目目录中.
我想要做的是使用单独的NIB (myViewControllerLandscape.xib)进行轮换.我尝试在viewDidLoad like中检测旋转:
if((self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (self.interfaceOrientation == UIInterfaceOrientationLandscapeRight))
{
NSLog(@"Landscape detected!");
[self initWithNibName:@"myViewControllerLandscape" bundle:nil];
}
Run Code Online (Sandbox Code Playgroud)
但我可以在gdb中看到,当应用程序以横向设备启动时,不会执行此操作.NSLog消息不会触发.为什么是这样?我做错了什么?
此外,如果我initWithNibName在viewDidLoad方法中明确地放置了函数调用,则不会加载该nib,并继续使用myViewController.xib文件.我的电话有什么问题?我应该指定捆绑吗?
谢谢!
我有一个UIViewController这是一个UISearchBarDelegate和MKMapViewDelegate.该searchBarSearchButtonClicked事件工作正常,但在iOS 4.2中测试时,在点击取消按钮时,不会调用searchBarCancelButtonClicked.在4.3中一切正常.我有相同代码的其他视图,它工作正常.我已经三次检查了方法签名.
它可能与MapView有关,还是我做了一些明显的错误?
我的.h文件:
@interface MyViewController : UIViewController <UISearchBarDelegate,MKMapViewDelegate,UIAlertViewDelegate>{
MKMapView *mapMainView;
UISearchBar *sBar;
}
@property (nonatomic, retain) UISearchBar *sBar;
@end
Run Code Online (Sandbox Code Playgroud)
我创建搜索栏如下:
sBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320.0, 70.0)] autorelease];
sBar.delegate = self;
sBar.showsCancelButton = YES;
[self.view addSubview:sBar];
[sBar becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)
方法:
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
searchBar.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)
有没有人知道为什么会这样?
for(UIView *subview in [scrollView subviews]) {
NSLog(@"subviews Count=%d",[[scrollView subviews]count]);
//[subview release];
[subview removeFromSuperview];
}
Run Code Online (Sandbox Code Playgroud)
在上面的方法,如果我使用 [subview removeFromSuperview];它工作正常...但如果我使用[subview release];它崩溃.. 我
想知道,如果两者相同或它们之间有什么区别?
我的应用程序应该只是风景,我在构建iOS 6及更早版本时没有遇到任何问题.现在使用iOS 7,它根本不会旋转.
在我的应用设置中,我将其设置为仅左/右横向.在我的视图控制器中,我使用以下内容:
- (NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight;
}
Run Code Online (Sandbox Code Playgroud)
我也习惯使用它,现在已弃用:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)orientation {
return UIInterfaceOrientationIsLandscape(orientation);
}
Run Code Online (Sandbox Code Playgroud)
新的似乎是shouldAutorotate,但使用此崩溃了我的应用程序.任何想法都将受到赞赏,因为我的应用程序被迫在我的iPad和模拟器中画像.谢谢!
在我的一个应用程序中,我重用了一个webview.每次用户使用以下方法将重新加载缓存数据的特定视图输入到webview: -
- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
然后我等待回拨电话
- (void) webViewDidFinishLoad:(UIWebView *)webView.
与此同时,我隐藏了webview并显示了"加载"标签.只有当我收到webViewDidFinishLoad时才会显示webview.
很多时候发生的情况我看到之前加载到webview的数据在我加载的新数据开始之前的短暂时间内.
在显示webview之前我已经添加了0.2秒的延迟,但它没有帮助.
有没有人知道如何解决这个问题,或者在没有发布的情况下从webview中清除旧数据并每次都分配它,而不是通过增加延迟时间来解决这个问题?
你如何做一个UIPickerView像webview 的行为,其中有一个下拉选择框,而不是像通常的网站一样下降,iphone使其成为一个UIPickerView包含所有选择.当你选择一个,检查变得可见在您的选择旁边并更改下拉框的值.你怎么把"完成"按钮放在上面UIPickerView去解雇UIPickerView?
我已经知道这[pickerview setHidden:YES]是隐藏pickerview的方法.我只是不知道如何在"完成"按钮中包含UIPickerView.
问候,克里斯
所以新的iOS 7已经问世,我正在尝试为UIAlertviews添加多个textFields和标签.我需要三个.我一直在尝试将它们添加为子视图,这不再适用.我还尝试使用UIAlertViewStylePlainTextInput添加多行,但它似乎只返回一个文本字段.
我需要添加标签以向他们展示要输入的内容.有没有办法用新的iOS 7完成这项任务?
我想要的东西如下
UIImage *solid = [UIImage imageWithColor:[UIColor darkGrayColor]];
Run Code Online (Sandbox Code Playgroud)
创建关于某种颜色的图像.
如何在iPhone sdk中做到这一点.
我已经存档了应用程序存储中的内置文件,它将上传构建在那个时候我收到此错误
1.Apples Web服务操作不成功.
2.无法验证包:727047181.itmsp
3.ERROR ITMS -9000:"捆绑标识符不能从当前的val更改; ue,'com.redim.pokerastic'.如果您想更改捆绑包标识符,则需要在itunes Connect中创建一个新的应用程序. "在softwareAssests/SoftwareAsset(MZItmspsoftwareAssetPackage)
请任何人帮我解决问题.
我有UITableViewController一个UISearchDisplayController和UISearchBar.当我在视图中呈现视图时,我在导航栏下面看到一条白线UITabBarController.当我以模态方式呈现视图时UINavigationController,该行是灰色或黑色(我无法分辨),它看起来非常正常.有任何想法吗?

刚刚发现加载带有嵌入图像的HTML字符串的UIWebView无法正常显示iOS9(GM种子)上的图像,这在iOS8上正常工作.
在这里观看了WWDC SafariViewController视频并认为Apple希望我们转向新的框架,这看起来非常有前途.但问题是SafariViewController不支持加载本地HTML文件,它只支持HTTP和HTTPS,到目前为止iOS9 GM种子和Xcode 7.1 beta.我尝试使用指向本地文件的NSURL加载它,抛出异常:
'NSInvalidArgumentException',原因:'指定的URL具有不受支持的方案.仅支持HTTP和HTTPS URL'
有没有人在iOS9上看到与UIWebView相同的问题和任何解决方法?谢谢.
关于SafariViewController的问题,我已经向Apple提出了关于此问题的Ricky,并提交了一个功能请求,希望很快就能解决这个问题.
我有一个带有多个button的UIWebView页面。需要确定点击了哪个按钮UIWebView.
UIWebview加载内容的页面源:
<form action="settings_personal.php" data-ajax="false" method="post">
<input type="submit" name ="btn_settings_personal" value=" Goals (Personal data) " data-icon="star" data-theme="g" />
</form>
<form action="settings_global.php" data-ajax="false" method="post">
<input type="submit" name ="btn_settings_global" value=" Settings " data-icon="gear" data-theme="g" />
</form>
<form action="" data-ajax="false" method="post">
<input type="submit" name ="btn_web_access" value=" Web Plattform Access " data-icon="plus" data-theme="h" />
</form>
Run Code Online (Sandbox Code Playgroud)
我需要确定为“ btn_web_access”点击的按钮名为按钮???
我实现了以下内容:
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{
NSString* clicked = [self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('btn_web_access').click();"];
NSLog(@"CLICK %@",clicked);
}
Run Code Online (Sandbox Code Playgroud)
但是没有用。。
我有一个视图控制器,它是a的根视图控制器UINavigationController,并且UINavigationController是a的控制器UITabBarViewController
像这样的结构:
UITabBarViewController->UINavigationViewController->UIViewController
Run Code Online (Sandbox Code Playgroud)
但问题是,当我使用这个视图控制器的self.view.frame.size.height属性时,我会得到不同的结果.
在iOS 6中,我得到548.但是在iOS 7中,我得到568.所以我可以准确地放置我的自定义子视图,因为它的位置基于视图的高度.
iphone ×11
ios ×6
ios7 ×3
objective-c ×3
uiwebview ×3
xcode ×2
app-store ×1
cocoa-touch ×1
ios4 ×1
ios9 ×1
ipad ×1
nib ×1
textfield ×1
uialertview ×1
uibutton ×1
uiimage ×1
uikit ×1
uipickerview ×1
uiscrollview ×1
uitextfield ×1
xib ×1