Questions tagged «objective-c»

仅在有关Objective-C功能或取决于语言代码的问题上使用此标记。标签[cocoa]和[cocoa-touch]应该用于询问Apple的框架或类。使用相关标签[ios],[macos],[apple-watch]和[tvos]来解决特定于这些平台的问题。

6
UITableView,分隔符颜色在哪里设置?
我UITableView在IB中添加了一个,并设置了“代理”和“数据源”,并且一切正常。我接下来要做的是更改分隔符的颜色,但是我能找到的唯一方法是将方法添加到一个委托回调中,有没有更好的放置位置? 我目前没有这个,但是我在想,也许我需要从控制器中添加一个“ iVar”,以便可以链接到UITableViewIB中的,然后在viewDidload?中设置分隔符颜色。 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { [tableView setSeparatorColor:[UIColor blackColor]]; return 65; }



26
UIButton:如何使用imageEdgeInsets和titleEdgeInsets将图像和文本居中?
如果仅在按钮中放置图像,然后将imageEdgeInsets设置为更靠近顶部,则图像将居中,并且一切正常 [button setImage:image forState:UIControlStateNormal]; [button setImageEdgeInsets:UIEdgeInsetsMake(-15.0, 0.0, 0.0, 0.0)]; 如果我仅在按钮中放置文本,然后将titleEdgeInsets设置为更靠近底部,则文本将居中,并且一切都按预期进行: [button setTitle:title forState:UIControlStateNormal]; [button setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 0.0, -30, 0.0)]; 但是,如果我将4行放在一起,则文本会干扰图像,并且都失去中心对齐。 我所有的图像都有30像素的宽度,如果我在setSettletleEdgeInsets的UIEdgeInsetMake的左侧参数中放了30个像素,则文本将再次居中。问题在于图像永远不会居中,因为它似乎取决于button.titleLabel的大小。我已经尝试过使用按钮大小,图像大小,titleLabel大小进行许多计算,并且永远都无法完美地居中。 有人已经遇到了同样的问题吗?


12
在iOS 6中以编程方式打开地图应用
在iOS 6之前的版本中,打开这样的URL将打开(Google)地图应用: NSURL *url = [NSURL URLWithString:@"http://maps.google.com/?q=New+York"]; [[UIApplication sharedApplication] openURL:url]; 现在有了新的Apple Maps实施,这将打开Mobile Safari到Google Maps。如何使用iOS 6完成相同的行为?如何以编程方式打开“地图”应用,并使其指向特定的位置/地址/搜索/其他地方?
159 ios  objective-c  ios6  mapkit 

10
IBOutlet和IBAction
在Xcode和Interface Builder中使用IBOutlet和IBAction的目的是什么? 如果我不使用IBOutlets和IBAction,有什么区别吗? 迅速: @IBOutlet weak var textField: UITextField! @IBAction func buttonPressed(_ sender: Any) { /* ... */ } 目标C: @property (nonatomic, weak) IBOutlet UITextField *textField; - (IBAction)buttonPressed:(id)sender { /* ... */ }

9
以编程方式滚动UIScrollView
我有一个 UIScrollView其中有几种看法。当用户轻弹手指时,视图会根据手指轻拂的方向向右或向左滚动。基本上,我的代码的工作方式类似于iPhone照片应用程序。现在,是否有一种方法可以通过编程方式执行相同的操作,从而使我最终获得一个幻灯片显示,该幻灯片显示可以通过单击按钮并在每次滚动之间进行可配置的暂停而独立运行? 您如何真正进行幻灯片放映UIScrollView?

13
从UITableView单元内的URL加载异步图像-滚动时图像变为错误图像
我编写了两种方法来异步加载UITableView单元内的图片。在这两种情况下,图像都可以正常加载,但是当我滚动表格时,图像将更改几次,直到滚动结束并且图像将返回到正确的图像。我不知道为什么会这样。 #define kBgQueue dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0) - (void)viewDidLoad { [super viewDidLoad]; dispatch_async(kBgQueue, ^{ NSData* data = [NSData dataWithContentsOfURL: [NSURL URLWithString: @"http://myurl.com/getMovies.php"]]; [self performSelectorOnMainThread:@selector(fetchedData:) withObject:data waitUntilDone:YES]; }); } -(void)fetchedData:(NSData *)data { NSError* error; myJson = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error]; [_myTableView reloadData]; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // Return the number of sections. …


12
仅在iOS 7上运行时,才会在Storyboard原型单元(Xcode 6,iOS 8 SDK)中自动调整UICollectionViewCell contentView框架的大小
我正在使用Xcode 6 Beta 3,iOS 8 SDK。使用Swift构建目标iOS 7.0。请通过以下屏幕截图逐步说明我的问题。 我在Storyboard中有一个UICollectionView。1个原型UICollectionViewCell,中间包含1个标签(无自动调整大小规则)。紫色背景用来标记由我猜想的Cell在运行时生成的contentView。该视图最终将根据我的UICollectionViewLayoutDelegate正确调整大小,但不会基于iOS7。请注意,我使用的是Xcode 6,该问题仅发生在iOS 7上。 当我在iOS 8上构建应用程序时,一切正常。 注意:紫色是contentView,蓝色是我的带有圆角的UIButton。 但是,在iOS 7上,单元内的所有子视图突然缩小到(0,0,50,50)的帧,并且不再符合我的自动调整大小规则。 我认为这是iOS 8 SDK或Swift或Xcode中的错误? 更新1:官方Xcode 6.0.1中仍然存在此问题!最好的解决方法是像KoCMoHaBTa所建议的那样,方法是在单元格的cellForItem中设置框架(尽管您必须对单元格进行子类化)。事实证明,这是iOS 8 SDK和iOS 7之间的不兼容性(请参阅下面引自Apple的ecotax答案)。 更新2: 将此代码粘贴到cellForItem的开头,一切正常: /** Xcode 6 on iOS 7 hot fix **/ cell.contentView.frame = cell.bounds; cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; /** End of Xcode 6 on iOS 7 …

12
以编程方式在UIStackView中添加视图
我正在尝试以编程方式在UIStackView中添加视图。现在我的代码是: UIView *view1 = [[UIView alloc]init]; view1.backgroundColor = [UIColor blackColor]; [view1 setFrame:CGRectMake(0, 0, 100, 100)]; UIView *view2 = [[UIView alloc]init]; view2.backgroundColor = [UIColor greenColor]; [view2 setFrame:CGRectMake(0, 100, 100, 100)]; [self.stack1 addArrangedSubview:view1]; [self.stack1 addArrangedSubview:view2]; 当我部署应用程序时,只有一个视图并且它是黑色的。(view1也获得了view2的参数)

4
子类化UIView的正确做法?
我正在研究一些基于UIView的自定义输入控件,并且正在尝试确定用于设置视图的正确做法。当一个UIViewController的工作,这是相当简单的使用loadView和相关viewWill,viewDid方法,但是继承一个UIView的时候,我有最接近methosds是`awakeFromNib,drawRect和layoutSubviews。(我在考虑设置和拆卸回调的问题。)就我而言,我在中设置框架和内部视图layoutSubviews,但屏幕上看不到任何内容。 确保我的视图具有想要的正确高度和宽度的最佳方法是什么?(尽管可能有两个答案,但无论是否使用自动版式,我的问题都适用。)什么是最佳的“最佳实践”?

16
如何调整UIButton的imageSize?
如何调整UIButton的图像大小?我正在这样设置图像: [myLikesButton setImage:[UIImage imageNamed:@"icon-heart.png"] forState:UIControlStateNormal]; 但是,这会将图像填充到完整按钮,如何缩小图像?


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.