鉴于最新发布的iPhone 6 屏幕尺寸:
iPhone 6: 1334h * 750w @2x (in points: 667h * 375w)
iPhone 6+: 1920 * 1080 @3x (in points: 640h * 360w)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有代码允许我检测用户设备的屏幕尺寸,以便我可以UIImages使用用户的设备相应地调整和调整尺寸和其他材料.
到目前为止,我一直在使用以下内容:
- (NSString *) platform{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithUTF8String:machine];
free(machine);
return platform;
}
- (NSString *) platformString{
NSString *platform = [self platform];
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; …Run Code Online (Sandbox Code Playgroud) 这个问题的实际标题比我可能适合的长:
启动一个应用程序,其根视图控制器仅支持纵向,但在主屏幕处于横向方向时支持iPhone 6 Plus上的横向方向会导致应用程序窗口处于横向方向但设备为在纵向方向.
简而言之,它看起来像这样:

当它应该看起来像这样:

重现步骤:
iPhone 6 Plus运行iOS 8.0.
一个应用程序,其plist支持所有但纵向倒置的方向.
应用程序的根视图控制器是UITabBarController.
一切,标签栏控制器及其所有后代子视图控制器都UIInterfaceOrientationMaskPortrait从中返回supportedInterfaceOrientations.
从iOS主屏幕开始.
旋转至横向(需要iPhone 6 Plus).
冷启动应用程序.
结果:界面方向损坏.
除了完全禁用横向之外,我无法想到强制执行纵向定位的任何其他方式,这是我无法做到的:我们的网络浏览器模态视图控制器需要横向.
我甚至尝试了子类化UITabBarController并重写supportedInterfaceOrientations以返回仅限纵向的掩码,但是这(即使使用上述所有其他步骤)也没有解决问题.
我尝试为字符串的一部分加下划线,例如,' test string '字符串中的' string '部分.我正在使用,我的解决方案运作良好.NSMutableAttributedStringiOS7
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]
initWithString:@"test string"];
[attributedString addAttribute:NSUnderlineStyleAttributeName
value:@(NSUnderlineStyleSingle)
range:NSMakeRange(5, 6)];
myLabel.attributedText = attributedString;
Run Code Online (Sandbox Code Playgroud)
问题是我的解决方案iOS8不再适用了.在花了一个小时测试多个变体之后NSMutableAttributedString,我发现这个解决方案只在范围从0开始时才有效(长度可以不同).这是什么原因?我该如何解决这个问题?
我找到了一个将字符串转换为NSNumber的方法,但代码是在Objective-C中.我试过把它转换成swift但它不起作用.
我正在使用的代码
NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
f.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *myNumber = [f numberFromString:@"42222222222"];
Run Code Online (Sandbox Code Playgroud)
我很快就以这种方式使用它
var i = NSNumberFormatter.numberFromString("42")
Run Code Online (Sandbox Code Playgroud)
但是这段代码不起作用,我做错了什么?
提前致谢
我为我的应用程序+报价实现了一个Today小部件,它在这些Apple Docs的帮助下在通知中心显示当天的报价.我想要完成的是打开Containing App,在这种情况下是+ Quotes,当用户在他们的Today通知视图中点击+ Quotes小部件时,并不完全确定要调用它的内容,因为Calendar会在今天看.我已经尝试在标签上覆盖一个按钮,该按钮会调用
-(void)openURL:(NSURL *)URL completionHandler:(void (^)(BOOL success))completionHandler
它,然后打开我声明要打开Containing App的自定义URL方案.问题是它没有打开Containing App.

-(IBAction)myButton:(id)sender {
NSURL *customURL = [NSURL URLWithString:@"PositiveQuotes://"];
[self openURL:customURL completionHandler:nil];
}
Run Code Online (Sandbox Code Playgroud) 我试图了解如何在iOS8中使用新的WKWebView,找不到太多信息.我读了:
http://developer.telerik.com/featured/why-ios-8s-wkwebview-is-a-big-deal-for-hybrid-development/ http://nshipster.com/wkwebkit/
但这对现有应用程序有何影响?普通的UiWebView会从nitro java脚本引擎获得加速,还是需要进行更改?我们如何处理向后兼容性?
我能找到的所有代码和示例都使用swift,这是强制性的吗?
感谢您对此事的任何帮助!
我正在使用Xcode6和iOS8创建一个iOS框架.当我将其与iOS应用程序链接并尝试在设备上运行时,我收到此错误
dyld: Library not loaded: @rpath/FrameworkName.framework/FrameworkName
Referenced from: /private/var/mobile/Containers/Bundle/Application/0F2C2461-A68B-4ABA-A604-B88E6E9D1BB1/AppName.app/AppName
Reason: image not found
Run Code Online (Sandbox Code Playgroud)
框架的"Runpath搜索路径"构建设置默认设置为
'@executable_path/Frameworks', '@loader_path/Frameworks'
Run Code Online (Sandbox Code Playgroud)
我找不到任何与此相关的文档.这是Xcode6引入的新功能,我希望通过简单地将框架包含到任何需要它的应用程序中来实现它.
我正在使用iOS 8新的自动调整单元格.在视觉上它运作良好 - 每个单元格大小合适.但是,如果我尝试滚动到最后一行,表视图似乎不知道它的正确大小.这是一个错误还是有解决方法?
使用这个项目 - TableViewCellWithAutoLayoutiOS8(从这个SO答案引用),我按预期得到了自动调整大小的单元格.
但是,如果我调用scrollToRowAtIndexPath函数,如下所示:
tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: model.dataArray.count - 1, inSection: 0), atScrollPosition: .Bottom, animated: true)
Run Code Online (Sandbox Code Playgroud)
我没有到达最后一排 - 它只让我到了中途.
即使试图使用这样的低级函数:
tableView.setContentOffset(CGPointMake(0, tableView.contentSize.height - tableView.frame.size.height), animated: true)
Run Code Online (Sandbox Code Playgroud)
结果不如预期,它不会达到目的.如果我点击很多次或等待片刻,最终它会到达正确的位置.似乎tableView.contentSize.height设置不正确,因此iOS"不知道"最后一个单元格在哪里.
非常感谢任何帮助.
谢谢
存档我的应用时遇到问题.
我为iOS 8扩展创建了一个新目标.
归档应用程序时,我收到警告.
警告是
"PBXCp警告","警告:跳过复制阶段,二进制代码签名:/ Users/Library/Developer/Xcode/DerivedData/App/Build/Intermediates/ArchiveInter mediates/AppName/IntermediateBuildFilesPath/UninstalledProducts/AppExtappex/AppE xt"
该应用程序位于Objective-C中.
我正在开发一个网络应用程序,它-webkit-overflow-scrolling:touch在几个地方使用,以提供溢出的divs惯性滚动.
自从更新到IOS8后,-webkit-overflow-scrolling: touch停止了你能够滚动的任何东西,到目前为止我能够解决这个问题的唯一方法是删除-webkit-overflow-scrolling: touch标准的粘性滚动.请帮忙!
以下是适用于iOS5,6和7的标准类之一的示例:
.dashboardScroll {
height: 100%;
overflow-x: hidden;
overflow-y: scroll;
-webkit-overflow-scrolling: touch; /*MAKES OVERFLOWN OBJECTS HAVE INERTIA SCROLLING*/
-webkit-transform: translateZ(0px); /*HELPS THE ABOVE WORK IN IOS5*/
}
Run Code Online (Sandbox Code Playgroud) ios8 ×10
ios ×8
iphone ×3
objective-c ×2
swift ×2
frameworks ×1
nsnumber ×1
overflow ×1
scroll ×1
uitableview ×1
uiwebview ×1
webkit ×1
wkwebview ×1
xcode ×1
xcode6 ×1