Questions tagged «ios»

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

6
AVAudioPlayer在调试模式下引发断点
每次加载应用程序时,它都会停止,就好像在此行上设置了断点一样: self.audioPlayer = [[[AVAudioPlayer alloc] initWithData:[dataPersister loadData:self.fileName] error:&outError] autorelease]; 该行上方或附近没有任何断点。它仅在我以调试模式运行应用程序时发生,并且断点后没有崩溃。当我单击“继续执行程序”时,该应用程序没有任何反应。 这是loadData方法,用调用initWithData: -(NSData*)loadData:(NSString*)fileName { NSString *dataPath = [self.path stringByAppendingPathComponent:fileName]; dataPath = [dataPath stringByStandardizingPath]; NSData *data = [[[NSData alloc] initWithContentsOfFile:dataPath]autorelease ]; return data; } loadData函数似乎工作正常。所请求的mp3文件在断点之后被加载并播放,没有任何问题。 你知道我在做什么错吗? 编辑: 当它在断点处停止时,我运行了回溯。这是输出: (lldb)bt *线程#1:tid = 0x1c03,0x30df1724 libc ++ abi.dylib`__cxa_throw,停止原因=断点1.2 帧#0:0x30df1724 libc ++ abi.dylib`__cxa_throw 框架#1:0x36403a24 AudioToolbox`ID3ParserHandle :: …

2
$ {EXECUTABLE_NAME}和$ {PRODUCT_NAME}在哪里定义
在哪里可以找到有关如何修改这些信息的信息 ${EXECUTABLE_NAME} ${PRODUCT_NAME} 这些仅显示在.plist文件中,但实际值在哪里。 如果我们可以直接修改.plist中我们想要的内容,那么为什么需要它们。 我是新手,这就是为什么我在理解这些内容时遇到问题,我也查看了苹果信息“属性”列表键参考,但没有找到这些$ {}值。
108 iphone  objective-c  ios  xcode  plist 

18
UITableView完成查询数据后会收到通知吗?
有什么方法可以找出何时UITableView从其数据源中查询数据? 的无viewDidLoad/ viewWillAppear/ viewDidAppear关联的视图控制器(方法UITableViewController)是使用在这里,因为他们都火得太早。它们(完全可以理解)都不能保证对数据源的查询暂时已经完成(例如,直到视图滚动为止)。 一个解决办法,我发现是调用reloadData的viewDidAppear,因为当reloadData返回时,表视图是保证完成查询数据源,它更需要的时间存在。 但是,这似乎有点令人讨厌,因为我认为这会导致在reloadData首次加载数据源时两次(自动一次,由于调用而一次)要求输入相同的信息。 我要执行此操作的原因是我想保留-的滚动位置,UITableView但要一直到像素级别,而不仅仅是到最近的行。 当恢复滚动位置(使用scrollRectToVisible:animated:),我需要的表视图已经有足够的数据在里面,否则scrollRectToVisible:animated:方法调用什么也不做(这是如果你把它自己的呼叫任何会发生什么viewDidLoad,viewWillAppear或viewDidAppear)。
108 ios  iphone  uitableview 

2
iOS 5中的View Controller Containment如何工作?
在2011年WWDC会话102,苹果推出视图控制器遏制,这是创建定制的视图控制器容器的能力,类似于UITabBarController,UINavigationController和类似物。 我看了几次例子。有许多与此模式相关的方法,但是要准确地找出它们有些困难。我将在这里发布我的想法,看看社区是否会证实或怀疑我的怀疑。 方案1:从无父视图移到新的父视图控制器 [vc willMoveToParentViewController:self]; [self addChildViewController:vc]; [self.view addSubview:vc.view]; // or something like this. [vc didMoveToParentViewController:self]; 前两行是否必须按照给定的顺序出现,或者可以颠倒吗? 方案2:从父视图控制器移动到无父视图控制器 [vc willMoveToParentViewController:nil]; [vc.view removeFromSuperview]; [vc removeFromParentViewController]; 也有必要打电话[vc didMoveToParentViewController:nil]吗?在这种情况下,Session 102中的示例并未执行此操作,但是我不知道这是否是遗漏。 方案3:从一个父视图控制器移动到另一个 这很可能会以以下方式发生,因为每个父视图控制器中的逻辑都将被封装。 // In the old parent [vc willMoveToParentViewController:nil]; [vc.view removeFromSuperview]; [vc removeFromParentViewController]; // In the new parent [vc willMoveToParentViewController:self]; [self addChildViewController:vc]; [self.view …

10
UIAlertView首先不推荐使用IOS 9
我尝试了几种使用UIAlertController而不是UIAlertView的方法。我尝试了几种方法,但无法使警报措施起作用。这是我的代码,可以在IOS 8和IOS 9中正常工作,但是显示不推荐使用的标志。我在下面尝试了优雅的建议,但在这种情况下无法使其起作用。我需要提交我的应用程序,这是最后要解决的问题。感谢您提出任何其他建议。我是新手。 #pragma mark - BUTTONS ================================ - (IBAction)showModesAction:(id)sender { NSLog(@"iapMade: %d", iapMade3); // IAP MADE ! =========================================== if (!iapMade3) { //start game here gamePlaysCount++; [[NSUserDefaults standardUserDefaults]setInteger:gamePlaysCount forKey:@"gamePlaysCount"]; NSLog(@"playsCount: %ld", (long)gamePlaysCount); if (gamePlaysCount >= 4) { UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Basic" message: THREE_PLAYS_LIMIT_MESSAGE delegate:self cancelButtonTitle:@"Yes, please" otherButtonTitles:@"No, thanks", nil]; …

4
了解NSRunLoop
谁能解释什么NSRunLoop?据我所知NSRunLoop,这与NSThread权利有关吗?所以假设我创建一个像 NSThread* th=[[NSThread alloc] initWithTarget:self selector:@selector(someMethod) object:nil]; [th start]; -(void) someMethod { NSLog(@"operation"); } 所以在这个主题完成工作后,对吗?为什么使用RunLoops或在哪里使用?从苹果文档中我读了一些东西,但对我来说还不清楚,所以请尽可能简单地解释一下

11
Swift:删除所有数组元素
我试图用这样的for循环删除所有数组元素: for index 1...myArray.count { myArray.removeAtIndex(index) } 但这是行不通的,在扩建之前我得​​到了这个错误: 预期为“;” 在“ for”语句中
108 ios  swift 

8
当地图视图只是屏幕的一部分时,如何在iOS模拟器中放大?
我在iPad上有一个视图,向其中添加了MKMapView,即说是全屏高度的一半。但是,当我尝试使用iOS Simulator时,它不起作用,因为小块填充了模拟器上的整个iPad视图。 因此,在地图视图只有屏幕一半的情况下,然后按键盘上的“ Option”(选项)键,我无法抓住地图来放大。 有人知道如何处理吗?
108 ios  mkmapview  simulator 

8
在UICollectionViewCell上长按手势
我想知道如何将长按手势识别器添加到UICollectionView(的子类)中。我在文档中读到它是默认添加的,但我不知道如何添加。 我想要做的是:长按一个单元格(我有一个github上的日历东西),获取被点击的单元格,然后对其进行处理。我需要知道长时间压制的细胞。对不起这个广泛的问题,但是我在Google或SO上找不到更好的东西

15
如何使UILabel显示轮廓文本?
我只需要在白色UILabel文字周围添加一个像素的黑色边框。 我使用下面的代码将UILabel子类化,从一些与切向相关的在线示例中我巧妙地将它们拼凑在一起。它可以工作,但速度非常非常慢(除了在模拟器上),而且我也无法使其垂直居中放置文本(因此我暂时将y值硬编码在最后一行)。啊! void ShowStringCentered(CGContextRef gc, float x, float y, const char *str) { CGContextSetTextDrawingMode(gc, kCGTextInvisible); CGContextShowTextAtPoint(gc, 0, 0, str, strlen(str)); CGPoint pt = CGContextGetTextPosition(gc); CGContextSetTextDrawingMode(gc, kCGTextFillStroke); CGContextShowTextAtPoint(gc, x - pt.x / 2, y, str, strlen(str)); } - (void)drawRect:(CGRect)rect{ CGContextRef theContext = UIGraphicsGetCurrentContext(); CGRect viewBounds = self.bounds; CGContextTranslateCTM(theContext, 0, viewBounds.size.height); CGContextScaleCTM(theContext, …

3
如何设置UICollectionViewDelegateFlowLayout?
UIViewController维护对UICollectionView的引用。控制器应使用UICollectionViewDelegateFlowLayout修改内置流布局。 将视图的数据源设置为self很容易: MyViewController.m - (void)viewDidLoad { self.collectionView.dataSource = self; } 但是,如何将控制器设置为视图的委托流布局? - (void)viewDidLoad { self.collectionView.dataSource= self; // self.collectionView.??? = self; } 我试过了: - (void)viewDidLoad { self.collectionView.dataSource= self; self.collectionView.collectionViewLayout = self; } 但是我得到了错误:“分配不兼容的指针类型...”。 集合头文件如下所示: MyViewController.h @interface MyViewController : UIViewController <UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>

13
如何在iOS 13中的UISegmentedControl中更改细分的颜色?
A UISegmentedControl在iOS 13中具有新外观,并且现有代码更改分段控件的颜色不再像以前那样起作用。 在iOS 13之前,您可以设置tintColor和,以用于分段控件周围的边框,分段之间的线条以及所选分段的背景颜色。然后,您可以使用带有的前景色属性更改每个句段标题的颜色titleTextAttributes。 在iOS 13下,tintColor什么都不做。您可以设置分段控件backgroundColor以更改分段控件的整体颜色。但是我找不到任何方法来更改用作所选片段背景的颜色。设置文本属性仍然有效。我什至尝试设置标题的背景色,但这只会影响标题的背景,而不会影响所选片段的其余背景色。 简而言之,您如何修改UISegmentedControliOS 13中当前选定的段的背景颜色?是否有使用公共API的适当解决方案,而无需深入研究私有子视图结构? 在iOS 13中,没有针对UISegmentedControl或的新属性,UIControl并且这些更改UIView均不相关。

23
键盘出现时如何滚动UIScrollView?
我的代码有问题。我正在尝试UIScrollView在编辑UITextField时应移动键盘弹出键隐藏的。 我现在正在移动主机,因为我不知道如何在代码中“向上滚动”。因此,我做了一些代码,它工作正常,但是当我编辑一个UItextfield并切换到另一个UITextField而不按“返回”按钮时,主视图会变得很远。 我对NSLog()变量的大小,距离和textFieldRect.origin.y进行了设置,如下所示。当我将两个UITextField放在同一位置(y原点)并且执行此特定的“切换”(不按回车键)时,我得到的数字是相同的,而我的代码在第一次UITextField编辑时效果很好,但在第二次编辑时效果不佳。 看一下这个: - (void)textFieldDidBeginEditing:(UITextField *)textField { { int size; CGRect textFieldRect = [self.view.window convertRect:textField.bounds fromView:textField]; size = textFieldRect.origin.y + textFieldRect.size.height; if (change == FALSE) { size = size - distance; } if (size < PORTRAIT_KEYBOARD_HEIGHT) { distance = 0; } else if (size > PORTRAIT_KEYBOARD_HEIGHT) { distance = …

3
在输入击键时获取UITextField的值?
假设我有以下代码: IBOutlet UITextField* nameTextField; IBOutlet UILabel* greetingLabel; 我希望greetingLabel用户按下任意键后立即阅读“ Hello [nameTextField]”。 我基本上需要的是与Cocoa委托方法等效的iPhone controlTextDidChange。 的textField:shouldChangeCharactersInRange:委托方法被称为每个键击发生时: - (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 字符串参数返回被按下的字符。但是,实际textField的值(nameTextField.text)保留为空白。 我在这里想念什么?(我想nameTextField反映用户到目前为止输入的确切字符串)。

9
如何通过编程快速打开带有坐标的地图App?
我有要在地图应用程序中打开的经度和纬度。我从这里尝试了此代码。 func goToMap(){ var lat1 : NSString = self.venueLat var lng1 : NSString = self.venueLng var latitude:CLLocationDegrees = lat1.doubleValue var longitude:CLLocationDegrees = lng1.doubleValue var coordinate = CLLocationCoordinate2DMake(latitude, longitude) var placemark : MKPlacemark = MKPlacemark(coordinate: coordinate, addressDictionary:nil) var mapItem:MKMapItem = MKMapItem(placemark: placemark) mapItem.name = "Target location" let launchOptions:NSDictionary = NSDictionary(object: MKLaunchOptionsDirectionsModeDriving, …
107 ios  swift  apple-maps 

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.