Tag: ios

使用贝塞尔path作为剪贴蒙版

我想知道是否有可能将视图剪辑到贝塞尔path。 我的意思是,我只想看到封闭的贝塞尔path内的地区的景色。 其原因是我有一个不规则形状的轮廓,我想从上到下逐渐用一个纯色填充形状。 如果我可以使某个视图只在path中可见,那么我可以简单地创build一个我想要的颜色的UIView,然后根据需要更改其框架的y坐标,从而有效地填充形状。 如果任何人有什么更好的想法如何实现这将不胜感激。 为了logging形状的填充将匹配用户手指的y值,所以它不能是连续的animation。 谢谢。 更新(很长时间后): 我试过你的答案,罗布,除了一件事外,它的效果很好。 我的意图是将掩码移动到屏幕上的同一位置。 这样我就可以给人以视觉上“填满”面具的印象。 问题是,根据你的回答我写的代码,当我移动视图时,面具随之移动。 我知道这是可以预料的,因为我所做的只是把它作为视图的掩码,所以如果它绑定的东西移动,它就会移动。 我试图添加面具作为superview的子层,以便它保持放置,但是那有非常奇怪的结果。 这是我的代码: self.test = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; self.test.backgroundColor = [UIColor greenColor]; [self.view addSubview:self.test]; UIBezierPath *myClippingPath = [UIBezierPath bezierPath]; [myClippingPath moveToPoint:CGPointMake(100, 100)]; [myClippingPath addCurveToPoint:CGPointMake(200, 200) controlPoint1:CGPointMake(self.screenWidth, 0) controlPoint2:CGPointMake(self.screenWidth, 50)]; [myClippingPath closePath]; CAShapeLayer *mask = [CAShapeLayer layer]; mask.path = myClippingPath.CGPath; self.test.layer.mask […]

如何设置UITabBarItem的未选色调,***包括系统项目***(iOS7)

( 注:我看到有几个类似的问题,但他们都没有看到我想改变定制和系统UITabBarItems的未选定外观的具体问题。) 我正在iOS7中工作。 我有一个button的UITabBar。 其中一些是我的button,一些是系统button。 例: UITabBarItem *searchButton = [[UITabBarItem alloc] initWithTabBarSystemItem: UITabBarSystemItemSearch tag: navSearchItem]; UITabBarItem *bookMkButton = [[UITabBarItem alloc] initWithTabBarSystemItem: UITabBarSystemItemBookmarks tag: navBookmarksItem]; UITabBarItem *homeButton = [[UITabBarItem alloc] initWithTitle: @"Home" image: [self tabBarImageNamed: @"home-tab"] tag: navHomeItem]; UITabBarItem *setingButton = [[UITabBarItem alloc] initWithTitle: @"Settings" image: [self tabBarImageNamed: @"settings-tab"] tag: navSettingsItem]; navTabBar.items = @[ searchButton, homeButton, […]

如何在iOS 9的UILabel中获得等宽数字

在WWDC 2015上,有一个关于 iOS 9中新的“旧金山”系统字体的会议 。当与iOS 9 SDK链接时,默认情况下它使用比例数字呈现而不是默认等宽数字。 NSFont上有一个方便的初始化程序,名为NSFont.monospacedDigitsSystemFontOfSize(mySize weight:) ,可用于显式启用等宽数字显示。 不过,我无法在UIFont上find相应的UIKit 。

静态库在特定项目中使用框架

我创build了一个包含我所有generics类的静态库。 其中一些类使用框架。 现在我有两个项目,一个使用一些使用框架的类,一个不使用任何使用框架的类。 因为静态库不支持包含框架(如果我是正确的)。 我必须在使用它们的项目中包含框架。 但是,当我编译不使用任何框架类的项目时,编译器会中断,因为它仍然需要框架。 现在我知道它试图从库中编译所有(未使用的)类,因为我使用链接标志“-ObjC”来防止“无法识别的select器”错误。 有谁知道如何编译每个项目只需要的源文件? 并防止所有框架必须包含在所有使用我的静态库的项目中?

推视图控制器,黑屏

我正在推动一个新的视图控制器,并将一些数据传递给它。 当我运行应用程序,我可以按下button,并推到新的视图,但屏幕是完全黑色的。 任何帮助表示赞赏。 – (IBAction)button:(id)sender { NSString *firstField = self.field.text; NSString *secondField = self.field2.text; self.resultsArray = [[NSArray alloc] initWithObjects:firstField, secondField, nil]; NSUInteger randomResult = arc4random_uniform(self.resultsArray.count); self.label.text = [self.resultsArray objectAtIndex:randomResult]; ImagesViewController *ivc = [[ImagesViewController alloc] init]; ivc.label = self.label.text; [self.navigationController pushViewController:ivc animated:YES]; }

为什么使用HTMLstring对NSAttributedString的初始调用比后续调用要长100倍?

我需要在我的iOS应用程序中显示HTML文本。 我决定我将使用NSAttributedString , initWithData:options:documentAttributes:error:的内置方法。 实际的parsing工作很好,但是,我似乎遇到了一个非常奇怪的错误,只有似乎表明自己,如果我有debugging器附加。 这种方法第一次被调用,运行iOS 7.0.4的iPhone 5S运行时间仅为1秒,iPod Touch 5代运行时间约为1.5秒。 模拟器上也出现了这个怪癖,但由于模拟器的速度很快,所以这个问题显而易见。 接下来的通话只需要10-50ms左右,比起初始通话要快得多。 这似乎与inputstring的caching没有关系,因为我在“真实”应用程序中用多个inputstringtesting了它。 但是,当我运行程序没有debugging器,它按预期运行,需要约10-20毫秒,这是我期望的HTMLparsing。 这是代码的相关部分: -(void) benchmarkMe:(id)sender { NSData *data = [testString dataUsingEncoding:NSUTF8StringEncoding]; NSTimeInterval startTime = [[NSDate date] timeIntervalSinceReferenceDate]; // So the complier doesn't keep complaining at me. __attribute__((unused)) NSAttributedString *parsed = [[NSAttributedString alloc] initWithData:data options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding) } documentAttributes:nil error:nil]; NSTimeInterval endTime […]

将文件path中的图像加载到资产库中

与我之前的问题有关。 我有一个path到资产库中的图像,例如: assets-library://asset/asset.JPG?id=1000000001&ext=JPG 现在,我怎么能从这个path的图像加载到UIImage对象? 这里是代码: NSString *path = [occasion imagePath]; //temp NSLog(@"the 2nd occasion imagePath is: %@", path); //end if (path != nil) { //UIImage *image = [UIImage imageNamed:path]; UIImage *image = [UIImage imageWithContentsOfFile:path]; image = [image imageByScalingAndCroppingForSize:CGSizeMake(36.0, 42.0)]; [[cell imageView] setImage:image]; }

UIImageView / UIView的Autolayout宽高比

如何设置UIImageView / UIView的自动布局,使图像视图的宽度和高度增加了一些iphone 6和6 plus。 我已经尝试添加约束长宽比,但增加的高度和宽度是非常大的。 是否有无论如何设置的约束高度和图像视图的宽度可以手动设置iPhone 6和6加。 看看在iphone 6和6加图像视图的截图应该是比现在显示的小一些。

remoteControlReceivedWithEvent不在appDelegate中调用

我有问题来控制我的avplayer的iPhone控制。 如果我把这个function – (void)remoteControlReceivedWithEvent:(UIEvent *)event 在视图控制器负责播放被调用的function,但只有当我要在当前的视图控制器的背景。 如果我要从其他视图控制器的背景function从未调用。 这就是为什么我想把它放在应用程序的代表。 我尝试了Becomefirstresponse,并将该函数放在每个视图控制器中,但它确实有帮助。 我也打电话 [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; 在里面 -(void)applicationWillResignActive:(UIApplication *)application 谢谢

Swift协议只能设置?

为什么我可以做到这一点没有任何错误: var testDto = ModelDto(modelId: 1) testDto.objectId = 2 而我定义这个: protocol DataTransferObject { var objectType: DtoType { get } var parentObjectId: Int { get set } var objectId: Int { get } var objectName: String { get set } } struct ModelDto: DataTransferObject { var objectType: DtoType var parentObjectId: Int var objectId: Int var objectName: […]