小编mah*_*udz的帖子

在两个UIView之间应用混合模式的最简单/最快的方法

我试图快速反转现有UIView的颜色(变成负面,如在摄影底片中).或者采取颜色并调低饱和度.我认为比操作位图更容易采取另一个全白(或阴影)的UIView,并使用blendmodes来实现我的目标.

我没有看到如何指导UIView如何在另一个之上绘制的方法.即使我是UIView的子类,我也没有看到使用混合更简单的方法.看起来我必须子类化具有drawrect的UIImageView:withBlendMode.

有没有人以更简单的方式做到这一点?我希望我可以在UIView或UIImageView上设置一个blendmode属性而不必子类...

基本上,你如何快速反转视图,使黑色为白色,白色为黑色?

iphone uiview uiimageview

9
推荐指数
1
解决办法
6138
查看次数

为什么-writeImageToSavedPhotosAlbum错误地定位我的图片?

-writeImageToSavedPhotosAlbum用来将图像发送到照片库.我遇到的问题是,尽管指定了方向,但图像最终会出现错误的方向.

事实上,似乎那些面向AVCaptureVideoOrientationPortrait最终看起来像AVCaptureVideoOrientationPortraitUpsideDown,并AVCaptureVideoOrientationLandscapeLeft最终看起来像AVCaptureVideoOrientationLandscapeRight,反之亦然.

这有什么原因吗?以下是一些更多细节:

我没有ViewController为我的视图进行自动方向更改.
所有图像显示[image imageOrientation]相等AVCaptureVideoOrientationPortrait,但我会跟踪实际方向并将其传递给-writeImageToSavedPhotosAlbum独立.

我正在使用: -writeImageToSavedPhotosAlbum:orientation:completionBlock:

如果有人能对此有所了解,我会很感激.

更新:

尽管我在文档中读到了

如果要保存UIImage对象,可以使用UIImage方法CGImage获取CGImageRef,并将图像的imageOrientation转换为ALAssetOrientation.

我继续改变了传递方向:

switch (lastOrientation) {
    case UIDeviceOrientationPortrait:
    default:
        alOrientation = ALAssetOrientationUp;
        break;
    case UIDeviceOrientationPortraitUpsideDown:
        alOrientation = ALAssetOrientationDown;
        break;
    case UIDeviceOrientationLandscapeLeft:
        alOrientation = ALAssetOrientationLeft;
        break;
    case UIDeviceOrientationLandscapeRight:
        alOrientation = ALAssetOrientationRight;
        break;

}
[library writeImageToSavedPhotosAlbum:[image CGImage]
                          orientation:(ALAssetOrientation) alOrientation// [image imageOrientation]
                      completionBlock:^(NSURL *assetURL, NSError *error) {
                            NSLog(@"completion block");
                      }];
Run Code Online (Sandbox Code Playgroud)

现在,所有图像都以其左边缘向下定向,就像它们是风景右侧一样.我仍然没有正确,但至少我让他们统一导向.

另一个更新:

这有效.为什么,我不知道:

switch (lockedOrientation) {
        case …
Run Code Online (Sandbox Code Playgroud)

avfoundation ios

9
推荐指数
1
解决办法
2290
查看次数

Facebook的图片帖最终出错了

我试图将图片发布到id = 226338660793052的Facebook页面,但它一直在/ me/photos中结束.我究竟做错了什么?

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   imageToSend, @"source",
                                   facebookMessageTextView.text, @"message",
                                   nil];
[facebook requestWithGraphPath:@"/226338660793052/photos" andParams:params andHttpMethod:@"POST" andDelegate:self]; 
Run Code Online (Sandbox Code Playgroud)

我没有收到任何错误消息.除了照片最终出现在我自己的专辑,我/照片,而不是226338660793052 /照片的专辑中,我什么都没得到.

但是,当我只是向该页面发布消息时,我确实在页面的时间轴上得到了一个成功的帖子:

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"http://www.bitsonthego.com", @"link",
                                   @"my profile", @"name",
                                   facebookMessageTextView.text, @"message",
                                   nil];
[facebook requestWithGraphPath:@"/226338660793052/feed" andParams:params andHttpMethod:@"POST" andDelegate:self]; 
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?我知道这一定是可能的,因为我可以使用浏览器将图片上传到所需的页面,作为一个随机的非管理员用户.我似乎无法从图API中做到这一点.

更新:

我已经解决了部分问题.您必须使用目标页面的access_token.这就是你如何得到它:

    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   @"access_token",  @"fields",
                                   nil];
    FBRequest *request = [facebook requestWithGraphPath:@"226338660793052" andParams:params andDelegate:self];
Run Code Online (Sandbox Code Playgroud)

获得结果后,将其添加到上面的事务中:

    NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                                   image, @"source",
                                  [result objectForKey:@"access_token"], @"access_token",
                                   facebookMessageTextView.text, @"message",
                                   nil];

    FBRequest *request = [facebook requestWithGraphPath:[[result objectForKey:@"id"] stringByAppendingString:@"/photos"] andParams:params …
Run Code Online (Sandbox Code Playgroud)

iphone facebook facebook-graph-api ios

9
推荐指数
1
解决办法
2360
查看次数

iPhone:CPU功率做DSP /傅立叶变换/频域?

我想持续分析MIC音频(不仅仅是一个片段或预先录制的样本),还要显示频率图并滤除音频的某些方面.iPhone足够强大吗?考虑到谷歌和iPhone的语音识别,Shazaam和其他音乐识别应用以及吉他调谐器应用,我怀疑答案是肯定的.但是,我不知道我有什么限制要处理.

有人在这个地方玩吗?

iphone audio signal-processing fft

8
推荐指数
1
解决办法
5510
查看次数

UITableViewCell中的UIButton和获取边界/框架

我在UITableView中的UITableView单元格中有一个UIButton.结果是一个包含按钮的列表.当按下UIButton时,它会调用一个touchUpInside方法,一切都很棒.我遇到的问题是我想在按下按钮时从按钮的位置(框架)缩小新视图.如果我只是得到了UIButton的界限

origButton.frame
Run Code Online (Sandbox Code Playgroud)

它位于UITableCell的坐标中,类似于3,50,40,25.这对于列表中的所有按钮都是相同的,因此无论按下列表中的哪个按钮,我都会得到这些坐标.现在,如果我真的抓住了我的视图坐标

self.frame
Run Code Online (Sandbox Code Playgroud)

当调用touchUpInside方法时,我得到更多可用的东西.然后我得到了我的细胞的坐标.大!!所以我可以从UIButton缩小新视图.大!!

但问题出在这里:如果向上滚动列表,点击按钮,视图不会从按钮缩小,而是从屏幕下方的位置缩小.问题是,我所拥有的坐标是针对单元格,在它向上滚动之前.事实上,所有单元格的所有坐标都反映了它们在表格中的实际位置,只有第一个可见集合的坐标可用.滚动没有改变这些坐标.

我想也许我可以使用超级视图的坐标,但那些没有帮助.

任何人都知道如何获得表中列出的按钮(或视图或任何其他项)的准确坐标,或者不可能?

以下是我计算新视图中心点的方法:

floatingView.center = CGPointMake(origButton.frame.origin.x + 
                                  origButton.frame.size.width / 2,
                         self.frame.origin.y + self.superview.frame.origin.y);
Run Code Online (Sandbox Code Playgroud)

谢谢!

iphone uitableview

7
推荐指数
2
解决办法
7945
查看次数

轻松检测我是否使用旧版iOS不可用的框架

在马拉松编码会话之后,我添加了太多代码而没有跟踪所有内容,我现在有一个应用程序,可能有一些iOS 5.0和5.1特定的枚举,调用和框架,但是,我希望我的应用程序支持iOS回到4.3 .

我希望有一种简单的方法可以将Xcode设置为编译,就好像它正在编译iOS 4.3一样,这样我就会得到所有需要调整的违规代码的错误,和/或者可选择编码的iOS版.

我以为我会通过使用编译器选项得到它:

-D__IPHONE_OS_VERSION_MAX_ALLOWED=__IPHONE_4_3
Run Code Online (Sandbox Code Playgroud)

但最终会在系统头文件中产生错误,而不是我的代码.

鉴于大多数枚举和框架都将其可用性包含在头文件中,我不得不认为有一种简单的方法可以满足我的需求.

有没有人设法做这样的事情,而不是使用旧的SDK下载旧的Xcodes?在那里,我可能会遇到在Lion下无法正常运行的Xcodes问题(这就是我正在运行的).

更新:好像我无法在Lion上安装Xcode 3.2.6.我现在必须找到Snow Leopard Mac,除非我找到使用编译器选项或强制Xcode使用旧SDK的方法......

以下是@ mattjgalloway的答案为我做的一个示例:

Lumin App Group

/Users/mz/Dev/Working/Lumin/Lumin/MyUIScreen.m

  • "亮度"已被弃用:太新了!
  • "亮度"已被弃用:太新了!
  • "亮度"已被弃用:太新了!
  • "亮度"已被弃用:太新了!

/Users/mz/Dev/Working/Lumin/Lumin/LuminViewController+Share.m

  • 'TWTweetComposeViewController'已被弃用:太新了!
  • 'TWTweetComposeViewController'已被弃用:太新了!
  • 'TWTweetComposeViewController'已被弃用:太新了!

/Users/mz/Dev/Working/Lumin/Lumin/LuminViewController.m

  • 'scrollView'已被弃用:太新了!
  • 'connectionWithMediaType:'已弃用:太新了!
  • 'connectionWithMediaType:'已弃用:太新了!
  • 'AVCaptureDeviceSubjectAreaDidChangeNotification'已被弃用:太新了!
  • 'setSubjectAreaChangeMonitoringEnabled:'已被弃用:太新了!

非常好.

我将以下内容放在项目的.pch文件中,并计划对所有项目执行此操作:

#if DEBUG
#define __IPHONE_OS_VERSION_SOFT_MAX_REQUIRED __IPHONE_OS_VERSION_MIN_REQUIRED
#import "MJGAvailability.h"
#endif
Run Code Online (Sandbox Code Playgroud)

对于任何项目,我现在都会根据我目标最早的iOS自动查看SDK问题.虽然仍然可能有SDK更改,但我至少知道大多数旧版iOS发布的框架添加内容.

xcode ios ios-frameworks

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

振动UI项目的最佳方法是什么?

我正在尝试振动/摇动一个UI元素,即一个控件,就像它被击中一样,并且正在产生共鸣.我可以使用Core Animation将其垂直,水平或两者抖动一个像素:

CABasicAnimation* rotationXAnimation;
rotationXAnimation = [CABasicAnimation animationWithKeyPath:@"position.y"];
rotationXAnimation.fromValue = [NSNumber numberWithFloat: ((UIControl *) sender).center.y-1.0 ];
rotationXAnimation.toValue = [NSNumber numberWithFloat: ((UIControl *) sender).center.y+1.0 ];
rotationXAnimation.duration = 0.2;
rotationXAnimation.cumulative = NO; 
rotationXAnimation.repeatCount = 10.0; 
rotationXAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];

[((UIControl *) sender).layer addAnimation:rotationXAnimation forKey:@"upDownAnimation"];
Run Code Online (Sandbox Code Playgroud)

或者我可以围绕z轴来回旋转一个小弧(-M_PI*0.02和M_PI*0.02):

CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.fromValue = [NSNumber numberWithFloat: -M_PI * 0.02 ];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 0.02 ];
rotationAnimation.duration = 0.2;
rotationAnimation.cumulative = NO;  
rotationAnimation.repeatCount = 10.0; 
rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];

[((UIControl *) …
Run Code Online (Sandbox Code Playgroud)

iphone user-interface core-animation

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

如何获得通用屏幕尺寸?

http://developer.android.com/guide/practices/screens_support.html说明:

术语和概念

屏幕尺寸实际物理尺寸,以屏幕对角线测量.为简单起见,Android将所有实际屏幕尺寸分为四种通用尺寸:小尺寸,普通尺寸,大尺寸和超大尺寸.

如何以编程方式获取设备屏幕的通用大小?我正在寻找的方法或属性将返回以下之一:small,normal,large和extra large.(或可以映射到那些的const/enums)

谢谢.

-mz

android

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

是否有人在Snow Leopard上使用iPhone SDK 2.xx dev?

Snow Leopard似乎没有SDK 2.xx.还是我弄错了?

顺便说一句,我很喜欢内置的Clang !! 感谢Xcode团队!

iphone osx-snow-leopard

5
推荐指数
2
解决办法
2826
查看次数

任何原因UITableViewController在键盘出现时不会向上滚动活动文本字段?

我有一个UITableViewController,其中包含具有UITextField的单元格的表.当键盘出现在这些文本字段中添加或编辑文本时,这些字段必须向上移动,以免被键盘遮挡.这应该由UITableViewController自动处理:

来自Apple:

注意:表视图控制器支持对表视图行进行内联编辑; 例如,如果行在编辑模式下嵌入了文本字段,则会将正在编辑的行滚动到显示的虚拟键盘上方.

可能问题是我使用的是SplitViewController,右侧是UITableViewController(较大的分割),左侧是另一个视图.

我错过了什么?是否只有某些情况下UITableViewController将处理此而不是其他情况?

uitableview uitextfield uikeyboard ios

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