小编atx*_*txe的帖子

在UIPopoverController中自定义titleView

在iPad应用程序上,我希望能够在弹出窗口的顶部栏中有多个按钮.我这样推出它:

UINavigationController *nc = [[UINavigationController alloc] initWithRootViewController:vc];

pop = [[UIPopoverController alloc] initWithContentViewController:nc];
[pop presentPopoverFromRect:CGRectInset([tableView rectForRowAtIndexPath:indexPath], 10, 10)
                     inView:tableView
   permittedArrowDirections:UIPopoverArrowDirectionAny
                   animated:YES];
pop.delegate = self;
[nc release];
Run Code Online (Sandbox Code Playgroud)

viewDidLoad我想设置titleView包含多个UIBarButtonItems.这是正常的,UINavigationController但我需要能够执行此操作并在弹出框中保留导航栏的自定义样式.

我试过设置rightBarButtonItem一个包含按钮的工具栏,但它们采用工具栏的格式,它本身不会采用弹出窗口的格式/样式.

uinavigationcontroller ipad uipopovercontroller ios

7
推荐指数
1
解决办法
1448
查看次数

SFHFKeychainUtils"忘记"我的用户密码

我现在用SFHFKeychainUtils了一段时间.在我上次更新到AppStore时,它突然"忘记"了我的用户密码.这意味着,当调用getPasswordForUsername相同的用户名和服务时,它现在不会返回结果.我不打印错误变量,所以我不知道它是否返回任何东西,我只知道它不会返回密码/任何字符串.我已经尝试通过安装旧版本然后在其上安装新版本来重现我的设备/其他调试设备上的问题,但它没有发生!工作得很好.我知道它有点模糊,但我真的不明白它来自哪里所以我无法提供更多信息.任何人都知道是什么原因引起的?在这方面你有什么最佳实践我可能会失踪吗?或者只是提示我如何调试此问题?

非常感谢!

iphone objective-c keychain ios sfhfkeychainutils

7
推荐指数
1
解决办法
924
查看次数

如何在点击某些按钮时重新加载我的UIViewController?

我正在开发一个iPhone应用程序,我有一个UIViewController类,其中有一些封面流动画,根据设计,我的视图顶部有5个按钮每个按钮都有一个IBAction单击按钮的方法我需要显示不同的封面流程与不同的数据和封面流量也从1按钮动作变为另一个.我的问题是如何在点击这些按钮时刷新我的页面(重新加载),因为我知道明确调用viewDidLoad是一个非常糟糕的主意,所以我该如何实现这一目标?任何帮助都提前感谢,谢谢.

iphone xcode objective-c ipad ios

7
推荐指数
1
解决办法
7万
查看次数

使用与当前设备语言不同的系统视图语言

在一个应用程序中,我只想支持德语.这对我自己定义的所有文本都很好,但我无法更改系统提供的视图显示的文本,例如:取消按钮UISearchBar:

UISearchBar具有英语本地化

如果设备语言设置为德语,则取消按钮会正确显示"Abbrechen".但是,如果我将设备语言设置为英语(或任何其他语言),则按钮显示"取消",这是不正确的,因为应用程序中的所有内容都是德语,所以我也希望这个按钮也是德语.是否有可能完成这项工作?我做错了什么?

  • 我只有一个de.lproj文件夹,我没有en.lproj文件夹.我在de.lproj文件夹中有InfoPlist.strings和我的主要nib文件.
  • 我用来访问搜索栏UIViewControllersearchDisplayController属性的内容视图的nib 也在de.lproj文件夹中.
  • 我已将.pbxproj中的开发区域设置为德语:

    developmentRegion = de;
    
    Run Code Online (Sandbox Code Playgroud)
  • 我在Info.plist文件中将"Localization native development region"设置为"de":

    <key>CFBundleDevelopmentRegion</key>
    <string>de</string>
    
    Run Code Online (Sandbox Code Playgroud)

ios

6
推荐指数
1
解决办法
1204
查看次数

重用UICollectionView中的单元格时,会短暂显示重用的UICollectionViewCell的旧内容

我使用a UICollectionView来显示从URL异步加载的图片网格.我的集合视图使用可重用单元格来显示UICollectionViewCells.当不重复使用单元格时,所有内容都会正确显示,但是当我滚动一下时,重用的单元格会在它们开始正常行为之前短暂闪烁旧内容.

以下是自定义的实现UICollectionViewController:

#import "MyCollectionViewViewController.h"
#import "MyCollectionViewCell.h"

@interface MyCollectionViewViewController ()    
@property (strong, nonatomic) NSArray *data;    
@end

@implementation MyCollectionViewViewController

@synthesize data = _data;

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.data = @[
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr01/2013/1/18/12/enhanced-buzz-wide-851-1358529670-4.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr03/2013/1/18/11/enhanced-buzz-wide-26311-1358526816-5.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr03/2013/1/18/11/enhanced-buzz-wide-26311-1358527190-11.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr02/2013/1/18/11/enhanced-buzz-wide-7517-1358526694-11.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr03/2013/1/18/11/enhanced-buzz-wide-1965-1358527802-7.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr03/2013/1/18/11/enhanced-buzz-wide-2165-1358527708-14.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr03/2013/1/18/11/enhanced-buzz-wide-1965-1358527894-12.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr02/2013/1/18/12/enhanced-buzz-wide-15957-1358529198-18.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr02/2013/1/18/12/enhanced-buzz-wide-16520-1358528981-9.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr02/2013/1/18/12/enhanced-buzz-wide-16517-1358529292-5.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr01/2013/1/18/12/enhanced-buzz-wide-20349-1358529323-20.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr01/2013/1/18/12/enhanced-buzz-wide-32444-1358529959-9.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr01/2013/1/18/12/enhanced-buzz-wide-32343-1358530043-7.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr02/2013/1/18/12/enhanced-buzz-wide-23646-1358530321-2.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr01/2013/1/18/12/enhanced-buzz-wide-28223-1358530801-15.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr01/2013/1/18/12/enhanced-buzz-wide-32273-1358530695-16.jpg",
        @"http://s3-ec.buzzfed.com/static/enhanced/webdr01/2013/1/18/12/enhanced-buzz-wide-31288-1358531103-16.jpg"
    ];

    [self.collectionView registerNib:[UINib nibWithNibName:@"MyCollectionViewCell" bundle:[NSBundle mainBundle]] forCellWithReuseIdentifier:@"myView"];
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    NSString *urlString = [self.data objectAtIndex:indexPath.item];

    MyCollectionViewCell *myView = [collectionView dequeueReusableCellWithReuseIdentifier:@"myView" forIndexPath:indexPath];
    myView.urlString = …
Run Code Online (Sandbox Code Playgroud)

ios ios6 uicollectionview

6
推荐指数
2
解决办法
4104
查看次数

如何从UIView创建一个CGLayer用于离屏绘图

我已经阅读了我认为是Quartz 2D Programming Guide的相关部分,但无法找到以下答案(他们似乎没有在文档中谈论iOS):

我的应用程序在a中显示绘图UIView.我不得不以某种方式更新绘图,例如更改其中一个形状的填充颜色(我保留CGPathRefs重要的形状,以便以后可以用不同的填充颜色重绘它们).如上述文档第169页的"使用CGLayer绘图"一节中所述,我正在考虑将整个绘图绘制成CGContext我将从中获取的绘图CGLayer,如下所示:

CGContextRef offscreenContext = CGLayerGetContext(offscreenLayer);
Run Code Online (Sandbox Code Playgroud)

然后我可以在屏幕上更新屏幕CGContextCGLayerUIViewdrawRect:方法中绘制到我的UIView中,如下所示:

CGContextDrawLayerAtPoint(viewContext, CGPointZero, offscreenLayer);
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,我CGLayer从哪里得到我的?我的理解是我必须使用它CGLayerCreateWithContext并提供CGContext一个参数,从中继承它的大部分属性.显然,正确的背景将是UIView我所接受的背景

CGContextRef viewContext = UIGraphicsGetCurrentContext();
Run Code Online (Sandbox Code Playgroud)

但是如果我没有弄错的话,我只能在drawRect:方法中得到它,并且假设下次调用该方法时我给出的上下文将是相同的一个是无效的,即我只能在CGContext本地使用它方法.

那么,我怎样才能得到一个CGContext我可以用来初始化我CGLayer创建一个屏幕CGContext来绘制然后将整个图层绘制回我UIViewCGContext

PS:当你在它的时候; 如果上面的任何内容没有意义或没有理智,请告诉我.我刚刚开始关注Quartz 2D.

iphone quartz-2d ipad ios

5
推荐指数
1
解决办法
6292
查看次数

如何测试为SKProductsRequest设置不同的语言环境

我正在iPhone应用程序中实现IAP,并且正在沙盒环境中工作。我有代码设置要处理SKProductsSKProductsRequest以获取价格信息。我想测试不同地区(例如欧元或日元)中检索到的价格值,以测试我的格式代码。我如何SKProductsRequest返回不同的语言环境?

iphone in-app-purchase ios

5
推荐指数
1
解决办法
2169
查看次数

使用 SecKeyWrapper 中断加密 16 个字节的 UTF8 (ccStatus == -4304)

我使用的是苹果SecKeyWrapper从类CryptoExercise在苹果文档的示例代码做一些AES128对称加密。出于某种原因,当我加密 1-15 个字符或 17 个字符时,它会正确加密和解​​密。使用 16 个字符,我可以加密,但在解密时它会在CCCryptorFinal调用 with后抛出异常ccStatus == -4304,这表明解码错误。(去搞清楚。)

我知道 AES128 每个加密块使用 16 个字节,所以我的印象是该错误与落在块边界上的明文长度有关。有没有人使用CommonCryptor或遇到过这个问题SecKeyWrapper

iphone aes ios

4
推荐指数
1
解决办法
3073
查看次数

UIView子视图中的setNeedsLayout

我有一个UIViewControllerwillRotateToInterfaceOrientation,我打电话[self view] setNeedsLayout];

这个视图调用它是子视图的(a UIScrollView)layoutSubviews方法,但UIScrollView不会调用layoutSubviews它的子视图.这是它的假设吗?我想如果你打电话setNeedsLayout给一个视图,它会调用layoutSubviews每个子视图和他们的子视图,然后...

我一定要手动,覆盖layoutsubviewUIScrollView并调用setNeedsDisplay每个子视图?

谢谢.

cocoa-touch objective-c uiview ios setneedsdisplay

4
推荐指数
1
解决办法
4401
查看次数

如何使用AVFoundation设置逐帧生成的视频的方向?

我正在编写一个iPhone应用程序,它从相机中获取视频,通过一些OpenGL着色器代码运行它,然后使用输出将视频文件写入视频文件AVFoundation.该应用程序以lanscape方向运行(或者),因此所有录制的视频都应该是横向的.

我在开始录制之前使用的当前代码以正确的方式获取视频:

[[self videoWriterInput] setTransform:CGAffineTransformScale(CGAffineTransformMakeRotation(M_PI), -1.0, 1.0)];
Run Code Online (Sandbox Code Playgroud)

其中videoWriterInput是一个实例,AVAssetWriterInput其目的是补偿OpenGL的横向模式和崇敬的方向.

这会生成在Quicktime播放器上下载和播放时正常播放的视频.但是,如果我将录制的视频添加到iPhone照片库中,缩略图会正确显示,但如果手机是横向拍摄的,则视频会旋转90度.如果手机处于纵向状态,则视频可以正常播放,但会水平裁剪以适合纵向尺寸.

根据Apple技术说明AVCaptureVideoDataOutput,我用于处理视频帧的捕获输出不支持设置视频方向.

有没有人成功录制了横向生成的视频,可以添加到iPhone库并在风景中正确播放,如果是这样的话?

iphone camera avfoundation orientation ios

4
推荐指数
1
解决办法
5906
查看次数