Questions tagged «ios»

iOS是在Apple iPhone,iPod touch和iPad上运行的移动操作系统。使用此标签[ios]来解决与iOS平台上的编程有关的问题。使用相关的标签[objective-c]和[swift]解决那些编程语言所特有的问题。

10
检查UITableViewCell是否完全可见的最佳方法
我有一个带有不同高度的单元格的UITableView,我需要知道它们何时完全可见。 现在,我遍历可见单元列表中的每个单元,以检查每次滚动视图时是否完全可见。这是最好的方法吗? 这是我的代码: - (void)scrollViewDidScroll:(UIScrollView *)aScrollView { CGPoint offset = aScrollView.contentOffset; CGRect bounds = aScrollView.bounds; NSArray* cells = myTableView.visibleCells; for (MyCustomUITableViewCell* cell in cells) { if (cell.frame.origin.y > offset.y && cell.frame.origin.y + cell.frame.size.height < offset.y + bounds.size.height) { [cell notifyCompletelyVisible]; } else { [cell notifyNotCompletelyVisible]; } } } 编辑: 请注意,*-(NSArray …
100 ios  uitableview  visible 

19
快速使用属性字符串使文本加粗
我有这样的字符串 var str = "@text1 this is good @text1" 现在text1说另一个字符串t 1。我可以替换文本,但不能将其加粗。我想将新字符串加粗t 1,这样最终输出将是: @t 1这很好@t 1 我该怎么做? 我看到的所有示例都在Objective-C中,但是我想在Swift中完成。 提前致谢。

24
在Swift中使用NSMutableAttributedString更改特定文本的颜色
我遇到的问题是我希望能够更改TextView中某些文本的textColor。我使用的是串联字符串,只希望将字符串追加到TextView的文本中。看来我想使用的是NSMutableAttributedString,但是在Swift中找不到如何使用它的任何资源。到目前为止,我有这样的事情: let string = "A \(stringOne) with \(stringTwo)" var attributedString = NSMutableAttributedString(string: string) textView.attributedText = attributedString 从这里我知道我需要找到需要更改其textColor的单词范围,然后将它们添加到属性字符串中。我需要知道的是如何从attributedString中查找正确的字符串,然后更改其textColor。 由于我的评分太低,我无法回答自己的问题,但这是我找到的答案 我通过翻译一些代码来找到自己的答案 更改NSAttributedString中子字符串的属性 这是Swift中的实现示例: let string = "A \(stringOne) and \(stringTwo)" var attributedString = NSMutableAttributedString(string:string) let stringOneRegex = NSRegularExpression(pattern: nameString, options: nil, error: nil) let stringOneMatches = stringOneRegex.matchesInString(longString, options: nil, range: NSMakeRange(0, attributedString.length)) …

2
如何从iPhone模拟器访问主机本身
我正在开发一个应用程序,该应用程序可以连接到Web服务以进行大部分操作。作为快捷方式,我想在计算机上运行开发服务器的副本。问题是: 如何/如何从iPhone模拟器访问主机的网络(在本例中为http)? 我正在与应用程序一起开发Web服务,因此将它们都放在主机上会很有帮助,然后我可以根据需要提交更改。
100 ios  iphone  ipad 

17
将新版本上传到iTunes Connect后消失
我正在尝试使用Xcode 8将内部版本上传到iTunesConnect。Xcode向我显示上传成功。在iTunesConnect的“活动”选项卡中,我看到出现了我的构建并将其标记为“正在处理...”。但是几分钟后,这个构建消失了,我在任何地方都找不到它。我尝试通过Xcode 8再次上传它,但是它说该版本已经上传到iTunesConnect。因此,当我尝试上载具有更高版本的版本时,它说“确定”,但在iTunesConnect中仍然看不到该版本。我尝试使用Application Loader上传,但是存在相同的问题。

13
更改UIImage颜色
我正在尝试更改UIImage的颜色。我的代码: -(UIImage *)coloredImage:(UIImage *)firstImage withColor:(UIColor *)color { UIGraphicsBeginImageContext(firstImage.size); CGContextRef context = UIGraphicsGetCurrentContext(); [color setFill]; CGContextTranslateCTM(context, 0, firstImage.size.height); CGContextScaleCTM(context, 1.0, -1.0); CGContextSetBlendMode(context, kCGBlendModeCopy); CGRect rect = CGRectMake(0, 0, firstImage.size.width, firstImage.size.height); CGContextDrawImage(context, rect, firstImage.CGImage); CGContextClipToMask(context, rect, firstImage.CGImage); CGContextAddRect(context, rect); CGContextDrawPath(context,kCGPathElementMoveToPoint); UIImage *coloredImg = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return coloredImg; } 这段代码有效,但是获得的图像效果不佳:返回图像的边界像素是间歇性的,不像我的第一个图像那样平滑。我该如何解决这个问题?


24
当键盘出现在SwiftUI中时,将TextField向上移动
TextField我的主箱里有七个ContentView。当用户打开键盘时,其中一些TextField隐藏在键盘框架下。所以TextField当键盘出现时,我想分别向上移动。 我使用以下代码TextField在屏幕上添加。 struct ContentView : View { @State var textfieldText: String = "" var body: some View { VStack { TextField($textfieldText, placeholder: Text("TextField1")) TextField($textfieldText, placeholder: Text("TextField2")) TextField($textfieldText, placeholder: Text("TextField3")) TextField($textfieldText, placeholder: Text("TextField4")) TextField($textfieldText, placeholder: Text("TextField5")) TextField($textfieldText, placeholder: Text("TextField6")) TextField($textfieldText, placeholder: Text("TextField6")) TextField($textfieldText, placeholder: Text("TextField7")) } } } 输出:
100 ios  swift  swiftui 

6
TabBar图像应为多大?
我有一个大小为100的tabBar图标。 我在2013年的《苹果人机界面指南》中进行了检查,并说图像尺寸应为30x30/ 60x60。 但是当标签栏控制器的高度为50时,我将图像的大小保持为50x50。 现在,当我运行项目时,我看到下面的丑陋设计: 知道要使用什么尺寸的图像才能使设计完美吗? 注意:我也不在写文本(例如,主页,搜索等)。标签按钮的文本位于图像本身中。

20
xcode / storyboard:无法将栏按钮拖动到顶部的工具栏
我有一个视图控制器,它是表的详细视图。当您单击表格的行时,它将带您到详细信息视图。详细信息视图嵌入在导航控制器中,以便导航栏的左上方有一个按钮可以将您带回到表格中。到目前为止,一切都很好。 现在,我想在导航栏的右侧添加一个编辑按钮,以便您可以编辑局部视图。我的计划是,将模态添加另一个视图控制器,使您可以编辑项目的详细信息。标准的东西。 但是,当我尝试将栏按钮项从对象列表拖到导航栏时,它不会。相反,当我放开鼠标按钮时,它会将条形按钮留在底部的标签栏控制器上。(我的导航方案包括不同的选项卡,并且每个选项卡都有表格,详细信息视图等。) 任何人都曾经遇到过这种情况,可以建议我做错了什么,或者采取某种变通办法,将条形按钮项目添加到导航屏幕的右侧。我必须在代码中添加它吗? 感谢您的任何建议。

10
如何防止UINavigationBar覆盖iOS 7中的视图顶部?
更新到Xcode 5之后,我所有应用程序视图中的导航栏都向下移动。这是一些屏幕截图,第一个显示了下拉视图时的所有内容,第二个显示了所有未触及的内容。搜索栏应从导航栏开始。 有人知道我该如何解决吗? 编辑:我尝试过此以前的建议: if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) self.edgesForExtendedLayout = UIRectEdgeNone; 但是它产生非常奇怪的结果。 这可能是因为由于导航栏的透明性,我在此视图控制器下显示了一个“幻灯片菜单”。

6
如何在Swift中使用SCNetworkReachability
我正在尝试将此代码段转换为Swift。由于某些困难,我正在努力下车。 - (BOOL) connectedToNetwork { // Create zero addy struct sockaddr_in zeroAddress; bzero(&zeroAddress, sizeof(zeroAddress)); zeroAddress.sin_len = sizeof(zeroAddress); zeroAddress.sin_family = AF_INET; // Recover reachability flags SCNetworkReachabilityRef defaultRouteReachability = SCNetworkReachabilityCreateWithAddress(NULL, (struct sockaddr *)&zeroAddress); SCNetworkReachabilityFlags flags; BOOL didRetrieveFlags = SCNetworkReachabilityGetFlags(defaultRouteReachability, &flags); CFRelease(defaultRouteReachability); if (!didRetrieveFlags) { return NO; } BOOL isReachable = flags & …
99 ios  c  struct  swift  reachability 

10
在iPhone 6S或iPhone 6S Plus模拟器上模拟强制触摸/ 3D触摸
我正在尝试在iPhone 6S或iPhone 6S Plus模拟器上使用Xcode 7 GM模拟强制触摸。特别是,我试图模拟在实现应用程序快捷方式的测试应用程序图标上的强制触摸。 让我知道是否有解决方案可以模拟此问题,我尝试了Watch模拟器用来模拟强制触摸的长按,但由于iPhone将其捕获为长按手势而无法使用。 更新:我从Apple下载了ViewControllerPreview示例代码。运行他们的示例应用程序,我看到模拟器虽然是iPhone 6s,但不支持3D /强制触摸功能。我仍然不确定如果我要使用带有强制触摸触控板的MacBook,是否支持该功能。 编辑:拥有带强制触摸触控板的macbook的人是否可以尝试使用触控板上的强制触摸来模拟iPhone 6s或6s Plus模拟器上的3D触摸?我的理论是,您也许可以使用新MacBook上的强制触摸触控板在新iPhone模拟器上模拟3D触摸。如果您尝试添加评论,请注明结果,我可以更新该帖子。 EDIT2:似乎新型Macbook Pro上的Force Touch触控板无济于事。

15
iOS 6:如何将某些视图限制为纵向视图并允许其他视图旋转?
我有一个iPhone应用程序,该应用程序使用UINavigationController来显示向下钻取的界面:首先是一个视图,然后是另一个视图,最多可以看到四个层次。我希望将前三个视图限制为纵向,并且仅应允许最后一个视图旋转为横向。从第四视图返回到第三视图时,我希望所有内容都旋转回纵向。 在iOS 5中,我仅shouldAutorotateToInterfaceOrientation:在每个视图控制器中定义为允许的方向返回YES。一切工作均如上所述,包括即使从视图控制器#4返回到#3时设备保持横向保持垂直,也可以返回到肖像。 在iOS 6中,所有视图控制器都会旋转到横向,从而打破了原本不希望的视图控制器。iOS 6发行说明说 更多责任转移到应用程序和应用程序委托。现在,iOS容器(例如UINavigationController)不咨询其子级来确定是否应自动旋转。[...]每当设备旋转或以全屏模式呈现方式呈现视图控制器时,系统都会向最上方的全屏视图控制器(通常是根视图控制器)询问其支持的界面方向。此外,仅当此视图控制器从其shouldAutorotate方法返回YES时,才检索受支持的方向。[...]系统通过将应用程序的supportedInterfaceOrientationsForWindow:方法返回的值supportedInterfaceOrientations与最上方的全屏控制器的方法返回的值相交,确定是否支持方向。 所以我继承UINavigationController了类,给了我MainNavigationController一个布尔属性,landscapeOK并用它返回的允许方向supportedInterfaceOrientations。然后在每个视图控制器的viewWillAppear:方法中,我都有这样的一行 [(MainNavigationController*)[self navigationController] setLandscapeOK:YES]; 告诉我MainNavigationController所需的行为。 问题来了:如果我现在以纵向模式导航到我的第四个视图,然后将手机翻转过来,它将旋转为横向。现在,我按“后退”按钮返回到我的第三个视图,该视图只能以纵向显示。但是它不会旋转回去。我如何做到这一点? 我试过了 [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait] 在viewWillAppear我的第三个视图控制器的方法中,但是它什么也没做。这是错误的调用方法还是错误的调用位置,还是我应该以完全不同的方式实现整个过程?
99 ios  iphone  ios6  autorotate 

8
如何在所有可用的iPhone分辨率上处理图像缩放?
如果我们要使用此图像来覆盖所有分辨率的屏幕的全宽和半高,那么哪种尺寸最适合用于图像:background.png,background @ 2x.png和background@3x.png iPhone人像应用程序? 这就是我们现在所拥有的: Device Points Pixels Scale Physical Pixels PPI Ratio Size iPhone XS Max 896x414 2688x1242 3x 2688x1242 458 19.5:9 6.5" iPhone XR 896x414 1792x828 2x 1792x828 326 19.5:9 6.1" iPhone X 812x375 2436x1125 3x 2436x1125 458 19.5:9 5.8" iPhone 6 Plus 736x414 2208x1242 3x 1920x1080 401 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.