iOS:frame.size.width / 2不会在每个设备上产生一个圆

我知道公式frame.size.width/2应该产生一个圆形边框,但是在XCode中,我目前正在经历一些差异。 我有两个testing设备(iPhone6和第五代iPod touch)我也有模拟器运行。 我的设备都能正确显示,但模拟器将我的圆圈绘制成圆angular矩形: 我用来实现这个(虽然很简单)的代码是: imgAvatar.layer.masksToBounds = true imgAvatar.clipsToBounds = true imgAvatar.layer.cornerRadius = imgAvatar.frame.size.width/2 imgAvatar.layer.borderWidth = 5 imgAvatar.layer.borderColor = UIColor.whiteColor().CGColor 这有什么道理吗? 这让我疯狂! 更新为了清除混淆, UIImageView在我的故事板中声明为190×190它也有一个1:1宽高比约束应用于它,以确保它保持成比例的宽度和高度。 更新2为了把任何怀疑关于我的自动布局约束睡觉,我已附加下面的图像显示为imgAvatar设置的约束。 正如您所看到的宽度和高度匹配,AR设置为确保它保持1:1的比例。 我希望能够清除任何进一步的疑虑 答案 Leonardo指出了一个非常实用和可重用的解决scheme来解决这个问题,使用Swift扩展可以确保给定的UIImage总是正方形的,因此总是产生一个圆圈,我已经在下面贴出了Leonardo的解决scheme: extension UIImage { var circleMask: UIImage { let square = size.width < size.height ? CGSize(width: size.width, height: size.width) : CGSize(width: size.height, height: size.height) let imageView = […]

如何在iOS上更改设备音量 – 而不是音乐音量

我想更改iOS(iPhone)上的设备音量。 我知道我可以用下面这行代码来改变音乐库的音量: //implement at first MediaPlayer framework MPMusicPlayerController *musicPlayer = [MPMusicPlayerController iPodMusicPlayer]; musicPlayer.volume = 1; 但那不是我的目标。 我想改变设备音量或让我说铃声的音量。 我怎样才能做到这一点? 只需更改DEVICE音量?

从通知中心删除单个远程通知

我的应用程序从Apple服务器接收远程通知。 当用户点击它时,是否有办法从通知中心(iOs 5.0+的下拉菜单)中删除单个远程通知? 谢谢!

是否有可能通过编程禁用iOS 7中的控制中心,如果没有,有什么替代scheme?

我开发了一个应用程序,从下到上使用滑动手势。 它在iOS 6中运行得非常好,但是现在iOS 7已经出来了,它的工作原理可能是25次中的1次:我几乎每次都能得到iOS 7控制中心。 显然,控制中心可以在设置中被禁用,但这是由电话的所有者,我无法控制。 所以我的问题是,有没有办法禁用控制中心的时候,当我的应用程序正在运行(或更有可能,是“积极”,因为我想控制中心回来,如果用户不积极使用我的应用程序)。 如果不是,还有什么select? 重新定位/重构function是唯一的解决scheme吗?

Objective-C从string中获取类属性

我听说了其他语言的一些类似的问题,但我正在寻找一个特定的情况。 我的应用程序有一个名为“logging”的核心数据模型,它具有许多列/属性,如“date,列1和列2”。 为了保持编程清洁,所以我可以调整我的应用程序到多个场景,input字段映射到plist内的Cor​​e Data属性(例如,我有一个名为“dataToGet”的值为“column1”的stringvariables。 我怎么能通过使用dataToGetvariables从Record类中检索属性“column1”?

在iOS中使用LDAP进行身份validation

我一直在寻找在iOS设备上使用LDAP的教程是可能的吗? 我没有看到任何文章或教程。 有没有另外一种方法我应该对我的Active Directory进行身份validation? 任何人都可以指向正确的方向吗?

iOS:用于同时logging和回放的示例代码

我正在为多轨录音机devise一个简单的概念certificate。 明显的出发点是将文件A.caf播放到耳机,同时将麦克风input录制到B.caf文件中 这个问题 – 同时录制和播放audio – 指出我可以在三个层面上工作: AVFoundation API(AVAudioPlayer + AVAudioRecorder) audio队列API audio单元API(RemoteIO) 什么是最好的工作水平? 显然,通用的答案是在最高层面上工作,完成工作,这将是AVFoundation。 但是我正在从一个由于延迟问题而放弃的人(他在这两个文件之间延迟了0.3秒)中接受这个工作,所以也许我需要在较低的层次上工作来避免这些问题? 此外,哪些源代码可用于跳板? 我一直在看SpeakHere示例( http://developer.apple.com/library/ios/#samplecode/SpeakHere/Introduction/Intro.html )。 如果我找不到更简单的东西,我会用这个。 但任何人都可以提出更简单/其他? 如果我能避免它,我宁愿不使用C ++代码。 有谁知道一些使用AVFoundation这样做的公共代码? 编辑:AVFoundation示例在这里: http ://www.iphoneam.com/blog/index.php?title=using-the-iphone-to-record-audio-a-guide&more=1&c=1&tb=1&pb =1 编辑(2):更好看一个在这里: http : //www.switchonthecode.com/tutorials/create-a-basic-iphone-audio-player-with-av-foundation-framework 编辑(3): 如何使用AVAudioRecorder在iPhone上录制audio?

UIPopover中的UIDatePicker

我已经search了整个互联网(也许我有点夸张)的教程,如何将DatePicker放入UIPopover并显示在iPad应用程序。 我已经尝试创build一个viewcontroller,将datepicker放在视图控制器,然后: self.popover = [[UIPopoverController alloc] initWithContentViewController:sa]; (sa是我创build的viewcontroller的名称),但这不起作用,应用程序崩溃。 谁能帮忙?

Xcode – 共享应用程序 – PackageApplication失败,退出代码1

我使用Xcode 4.1为我的iPhone应用程序创build了一个专门的分发版本。 目标成功构build并生成一个可在Organizer中看到的存档文件。 然后,我点击“分享”,这使我可以select.ipa和我的分发configuration文件。 但是,我点击“下一步”后组织者崩溃与下面的错误。 错误日志似乎表明错误与“ResourceRules.plist”有关? 我正在使用CorePlot进行绘图,可能与此有关? 有关信息,我有一个有效的分发证书,并导入分发configuration文件。 权利文件不再需要特别分配,所以我没有在项目中。 我的所有其他应用程序不会在“共享”阶段崩溃,所以它似乎不是Xcode的问题,只是这个特定的应用程序。 任何帮助非常感谢。 格兰特。 PackageApplication failed with exit code 1. Packaging application: '/Users/gabt/Library/Developer/Xcode/Archives/2011-08-20/myApp 20-08-2011 14.11.xcarchive/Products/Applications/myApp.app' Arguments: embed=/Users/gabt/Library/MobileDevice/Provisioning Profiles/FA16C6A9-603C-46A6-8B98-F367A6B056CD.mobileprovision verbose=1 output=/var/folders/jw/s5ky0r1n34322jt4pw3047m00000gn/T/670E174E-0BCA-4F18-AB8D-5ACF3D7E569A-8458-000005FCA81C6AE5/app.ipa sign=iPhone Distribution: Grant Abt Environment variables: HOME = /Users/gabt LOGNAME = gabt __CF_USER_TEXT_ENCODING = 0x1F5:0:0 DISPLAY = /tmp/launch-WoNf6c/org.x:0 COMMAND_MODE = unix2003 VERSIONER_PERL_PREFER_32_BIT = no PATH = /Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin […]

启用UITextField上的复制和粘贴操作,而不使其可编辑

我希望UITextField (或理想情况下, UILabel )中的文本是不可编辑的 ,但同时使用户能够将其复制到其他位置。