哇,最后XCode 4.2/iOS5模拟器有StoreKit支持.
在我的应用程序中,我注意到当StoreKit要求AppleID /密码时,我可以使用模拟器屏幕键盘输入该信息,但不能通过Mac键盘输入.
这是正常的还是我还有其他问题?
我一直认为,当我需要箭头或子弹或其他任何东西时,我可以在字符串中使用简单的标志性unicode字符.字形将呈现与字符串其余部分相同的颜色,并带有简洁明了的图标.我可以通过在XCode的"编辑"菜单上使用Mac的"特殊字符"对话框来预览它们的外观.
在iOS5中,这些字形以全彩色呈现,并且不简单和干净.我相信这些是表情符号图标?
我正在寻找这种变化的解释,理想情况下如何强制iOS5恢复到iOS2 - iOS4行为.
这是一个例子: @"? left arrow, right arrow ? airplane ?";
编辑:
显然,用于呈现text(drawAtPoint: / drawInRect:)的NSString UIKit扩展不会出现此行为.那么也许这是UILabel的事情?具体来说,我已经在UISegmentControl段按钮和UILabel中注意到了它.
嗨,我想在IPhone SDK3.x中创建自定义的气泡菜单,如剪切/复制/粘贴菜单.我知道它是UIMenuController,但它只提供标准的剪切/复制/过去菜单.任何人都知道如何制作类似这样的气泡菜单.任何示例和代码供参考?
我在tableView单元格中使用UITextView来编辑文本.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITextField *textName = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, 270, 24)];
[cell addSubview:textName];
[textName release];
}
Run Code Online (Sandbox Code Playgroud)
这有效,但在iPad上运行时则不正确.
我试图使用cell.contentView.frame.size.width来确定单元格的宽度
但对于iPhone和iPad,这总是会返回320.0
在横向模式下iPad上也不应该更大的单元格宽度?
张志贤
编辑:我现在发现这个类似的问题有一个非常详细的答案:
我正在使用OpenCV findHomography()和warpPerspective()方法"去歪斜"一张纸的照片.我有这个很大程度上工作,但我坚持一个细节.
我不明白该怎么做的部分是计算要输入的最佳目标点集findHomography().我知道我希望我的输出是矩形的,但我不知道矩形的宽度与高度的比例.我还希望调整输出矩形的大小,以便在应用变换时通过最小的输出图像缩放warpPerspective().我所拥有的是形成四边形的四个点,我想在源图像中进行变换.如何计算最佳尺寸的目标矩形?
我不明白为什么我可以归档CGPoint结构而不是CLLocationCoordinate2D结构.归档者有什么不同?
平台是iOS.我正在模拟器中运行,并没有尝试过该设备.
// why does this work:
NSMutableArray *points = [[[NSMutableArray alloc] init] autorelease];
CGPoint p = CGPointMake(10, 11);
[points addObject:[NSValue valueWithBytes: &p objCType: @encode(CGPoint)]];
[NSKeyedArchiver archiveRootObject:points toFile: @"/Volumes/Macintosh HD 2/points.bin" ];
// and this doesnt work:
NSMutableArray *coords = [[[NSMutableArray alloc] init] autorelease];
CLLocationCoordinate2D c = CLLocationCoordinate2DMake(121, 41);
[coords addObject:[NSValue valueWithBytes: &c objCType: @encode(CLLocationCoordinate2D)]];
[NSKeyedArchiver archiveRootObject:coords toFile: @"/Volumes/Macintosh HD 2/coords.bin" ];
Run Code Online (Sandbox Code Playgroud)
我在第二次崩溃archiveRootObject,这条消息被打印到控制台:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSKeyedArchiver …Run Code Online (Sandbox Code Playgroud) 我正在更新应用程序以使用最新的Facebook SDK以获得对iOS6原生Facebook支持的访问权限.它目前使用的是相当旧版本的Facebook SDK.
该应用程序需要Facebook的"publish_actions"权限才能与Facebook进行唯一的操作.
我最初认为我可以使用[FBSession openActiveSessionWithPublishPermissions: ...]但是当用户在iOS6设置中配置了Facebook时,这在iOS6上失败了.由于这一要求,它失败了,来自Facebook文档:
请注意,要使用iOS 6本机身份验证,应用程序需要更改用户请求权限的方式 - 应用程序必须将其读取和写入权限请求分开.面向iOS的Facebook SDK支持这些功能,并帮助开发人员使用它们构建适用于多个iOS版本和设备配置的应用程序.
这是一个大型的PITA,IMO.我们的偏好是提示用户一次获得许可并完成它,但每个Apple/Facebook的"新"理想是在需要但尚未授予时在上下文中提示特定权限.
目前的计划是保留iOS5用户和未在"设置"中配置Facebook的iOS6用户的旧行为.并符合使用本机访问的iOS6用户的新双提示.
问题是,最好的方法是什么? 我应该如何检测Facebook SDK是否会选择iOS6本机登录与后备机制?我忽略了一些明显的东西吗
编辑:
杰拉尔德威廉姆让我走上正轨.他的解决方案几乎可以工作,除了在iOS5中没有ACAccountTypeIdentifierFacebook.此外,如果用户阻止设置中的FB访问应用程序,则accountsWithAccountType调用将返回一个空数组.
可以通过询问帐户类型匹配标识符"com.apple.facebook"来解决第一个问题 - 这将在iOS5上返回nil,在iOS6上返回真实帐户类型对象.
但第二个问题是无法解决的.我的新计划是始终在iOS6上以只读权限打开初始会话,并在上下文中根据需要提示发布权限.在iOS5上,我仍然会打开初始会话,指定所需的publish_actions权限.这是代码:
ACAccountStore* as = [[ACAccountStore new] autorelease];
ACAccountType* at = [as accountTypeWithAccountTypeIdentifier: @"com.apple.facebook"];
if ( at != nil ) {
// iOS6+, call [FBSession openActiveSessionWithReadPermissions: ...]
} else {
// iOS5, call [FBSession openActiveSessionWithPublishPermissions: ...]
}
Run Code Online (Sandbox Code Playgroud) 我<ext/atomicity.h>在构建包含OpenCV的项目时抱怨编译器错误.环境是针对iOS的Xcode 4.5.它为模拟器编译良好,但在为设备构建时失败.这是错误文本:
/Users/Nick/projects/ios/opencv2.framework/Headers/core/operations.hpp:65:16: fatal error: 'ext/atomicity.h' file not found
#include <ext/atomicity.h>
Run Code Online (Sandbox Code Playgroud)
我正在使用opencv2.framework,使用cmake构建,使用此处的说明.
嗨,我正在开发一个iPad应用程序,并且要求在应用程序进入后台时关闭所有弹出窗口(如果有的话).
我在网上做了一些研究,并没有找到一个简单的方法来做到这一点.我想在这里分享一些我的想法,看看是否有更好的方法来做到这一点.
1,在委托中取消 didEnterBakcground中的popovers.似乎不实用,因为我们必须添加所有popovers引用.
2,在当前窗口中递归遍历所有视图,以通过(class = _UIPopoverView)查找弹出视图.这看起来有点hacky和危险.
3,在拥有弹出窗口的每个对象中设置UIApplicationDidEnterBackgroundNotificationgroundNotification并将其关闭.这似乎是合理的,但如果你的应用程序中有数百个弹出窗口,那真的很麻烦.
4,如何添加类别方法说 - (void)dismissWhenAppWillEnterBackground; 并注册通知.
或者有更容易的方法吗?
这类似于询问如何在没有确认的情况下滑动/删除的问题:
我的tableview包含设置了UITableViewCellEditingStyleDelete的单元格.当tableview处于编辑模式时,单元格会显示一个内部带有" - "的红色圆圈图标.要删除单元格,用户点击红色圆圈,将出现"删除"按钮.然后,用户必须点击删除哪个触发器tableView:commitEditingStyle:forRowAtIndexPath:.
我的一些行支持UITableViewCellEditingStyleInsert.在这种情况下,单元格显示一个绿色圆圈图标,里面带有"+".点击圆圈会tableView:commitEditingStyle:forRowAtIndexPath:立即调用.
我想tableView:commitEditingStyle:forRowAtIndexPath:在用户点击初始红圈图标时立即调用.也就是说,没有删除按钮步骤.
有任何想法吗?
有没有办法提供从左侧滑入的自定义编辑控件,如删除/插入?如果是这样,也许我可以使用这种机制?
ios ×7
iphone ×4
ipad ×3
opencv ×2
uitableview ×2
emoji ×1
homography ×1
ios5 ×1
objective-c ×1
popover ×1
simulator ×1
storekit ×1
uitextview ×1
unicode ×1
universal ×1
xcode ×1