Tag: 目标C

使用unicode的分数的NSString表示

我正在试图“很好地”在iPhone应用程序中显示分数。 以前我一直在使用一个繁琐的开关语句,导致硬编码unicode字符的粗俗分数,但我已经了解了unicode分数斜杠字符,如果我正确理解,应该意味着我可以创build一个string如下: [NSString stringWithFormat:@"%i\u2044%i",numerator,denominator]; “渲染器”将自动打印一个更小的分子和下标分母。 不过,上面的代码只是给了我标准的1/2外观。 我正在使用drawAtPoint将string放在屏幕上。 我已经尝试了decomposedStringUsingCanonicalMapping和precomposedStringUsingCanonicalMapping,但说实话,文档丢失了我。 如果这工作或NSString绘图不应付这个?

iOS7 Sprite Kit如何禁用一个精灵的触摸,使其“通过”?

我知道,对于传统的UIViews,我可以将“启用用户交互”标记设置为NO,并且视图将不再响应触摸,让它们下面的视图接收触摸。 有什么方法可以在Sprite Kit中实现相同的“tap through”function吗? 到目前为止,我只见过使用“触摸开始”的人,得到了这一点,并在那个时候询问现场的节点。 这种方法的问题是 – 如果我想添加覆盖顶部的精灵(如怪物生活点等),他们也将回应触摸。 到目前为止,我试图通过为不同的节点创build自定义类来避免这个问题,然后有一个非常大的if语句,检查每个节点的类。 有没有更好的方法来实现精灵套件的“通过”function?

OpenMP在iOS / Android上

在跨平台的GCC中支持OpenMP …但这是否意味着所有目标平台都支持OpenMP? 具体来说,iOS和Android ** …随着手机/平板电脑转向四核,不使用游戏中的所有核心将是一个巨大的劣势。 ** 作为一名非移动开发人员,我不知道您是否可以为Android编写C ++应用程序?

在iOS上默认是char签名还是未签名?

在iOS上默认是char签名还是未签名? (我以为这会是一个很好回答的问题,但奇怪的是谷歌没有任何用处!

如何将dispatch_data_t转换为NSData?

这是正确的吗? // convert const void *buffer = NULL; size_t size = 0; dispatch_data_t new_data_file = dispatch_data_create_map(data, &buffer, &size); if(new_data_file){ /* to avoid warning really – since dispatch_data_create_map demands we care about the return arg */} NSData *nsdata = [[NSData alloc] initWithBytes:buffer length:size]; // use the nsdata… code removed for general purpose // clean up [nsdata […]

iOS objective-C:在浮点上使用模来从“英尺”获得“英寸”

我正在试图做一个简单的目标C高度转换器。 input是脚的(浮动)variables,我想转换为(int)英尺和(浮动)英寸: float totalHeight = 5.122222; float myFeet = (int) totalHeight; //returns 5 feet float myInches = (totalHeight % 12)*12; //should return 0.1222ft, which becomes 1.46in 但是,我不断从xcode中得到一个错误,我意识到模运算符只能使用(int)和(long)。 有人可以推荐一种替代方法吗? 谢谢!

使用MPMoviePlayerController禁用AirPlay

我有一个MPMoviePlayerController的实例,用于在iPhone应用程序上显示一些实时stream式video。 这工作正常,但是我希望删除所有的AirPlayfunction。 可以肯定的是,我专门禁用了AirPlay,如下所示: if([self.moviePlayerController respondsToSelector:@selector(setAllowsAirPlay:)]) { self.moviePlayerController.allowsAirPlay = NO; } 但是,即使使用此代码,我仍然可以看到video控件上的AirPlay图标。 如果我select这个,并select我的AppleTV,只有audio通过AirPlay发送 – video继续在应用程序内播放。 如果我将allowsAirPlay设置为YES ,则通过AirPlay发送video和audio。 有谁知道为什么发生这种情况? 这是操作系统的一个function,允许通过AirPlay发送audio吗?

如何在导航条下的iOS UITableView?

我已经设定 NavigationController.NavigationBar.Translucent = true; 然后添加表格并将其设置为RootView Frame,并且: public override void ViewDidLayoutSubviews() { base.ViewDidLayoutSubviews(); float y = this.TopLayoutGuide.Length; table.ContentInset = new UIEdgeInsets (y, 0, 0, 0); } 但是,我有导航栏下的表格滚动条(我使用monotouch):

延迟呈现模态视图控制器

我有一个标签栏的应用程序。 在所有5个选项卡中都有导航控制器,并将自定义视图控制器的实例设置为根视图控制器。 这加载得很好。 一些这些视图控制器包含表视图。 我想显示一个模式视图控制器给用户,当他们在表视图中select一行。 didSelectRowAtIndexPath委托方法的(相关部分)如下所示: SampleSelectorViewController *sampleVC = [[SampleSelectorViewController alloc] init]; [self presentViewController:sampleVC animated:YES completion:NULL]; 模式视图控制器出现,但它出现后非常明显的延迟。 有时甚至需要用户再次点击该行。 我已经validation了一些事情是: 当用户点击该行时,表视图的didSelectRowAtIndexPath方法被调用 didSelectRowAtIndexPath方法不包含任何阻塞调用。 没有networking操作正在执行,模态视图控制器的设置不涉及任何处理密集型任务。 它显示的数据是静态的。 如果我将新的视图控制器推到导航堆栈上(其余的完全相同),它的行为完全没有任何延迟。 只有在模态expression时才会遇到延迟。 任何想法/build议?

MonoTouch:双倍外观在Retina显示屏上调整色调时的图像大小

我使用在Retina和非Retina显示器中工作良好的代码来设置NavBar的背景。 有一个@ 2x和正常的图像。 所以,一切都好: UINavigationBar.Appearance.SetBackgroundImage( GetImage(ImageTheme.menubar), UIBarMetrics.Default); 现在,当我将这个ChangeHue()变换应用到图像以调整其色调时,在Retina上显示图像的大小是它的两倍。 非Retina显示器是好的: UINavigationBar.Appearance.SetBackgroundImage( ChangeHue(GetImage(ImageTheme.menubar)), UIBarMetrics.Default); … UIImage ChangeHue(UIImage originalImage){ var hueAdjust = new CIHueAdjust() { Image = CIImage.FromCGImage(originalImage.CGImage), Angle = hue * (float)Math.PI / 180f // angles to radians }; var output = hueAdjust.OutputImage; var context = CIContext.FromOptions(null); var cgimage = context.CreateCGImage(output, output.Extent); var i = UIImage.FromImage(cgimage); return […]