小编Shu*_*ank的帖子

无法在iOS 7.1中的UITableViewCell的contentView上设置clipToBounds

iOS 7的重新设计导致了视图层次结构的变化UITableViewCells.单元格的内容视图包含在一个名为的私有类中UITableViewCellScrollView.

在iOS 7 UITableViewCellScrollViewclipsToBounds设置为YESUITableViewCellContentViewclipToBounds设置为NO.

在iOS 7.1中UITableViewCellScrollViewclipsToBounds设置为NOUITableViewCellContentViewclipToBounds设置为NO.

如果你[[self contentView] setClipsToBounds:YES]在iOS 7.1中调用它会坚持下去.当在单元格上调用layoutSubviews时,UITableViewCellContentView将clipToBounds再次设置为NO.

[[self contentView] superview] setClipsToBounds:YES] 适用于iOS 7.1并将UITableViewCellScrollView的clipToBounds设置为YES,但这是一个非常脆弱的解决方案.

覆盖单元格上的layoutSubview和调用[[self contentView] setClipsToBounds:YES]工作,但是另一个简单的解决方案.

有谁知道为什么要做出这种改变并采用更强大的解决方案呢?

uitableview uikit ios ios7.1

16
推荐指数
1
解决办法
6912
查看次数

如何在AVFoundation中静音捕获声音?

我想在没有任何声音的情况下使用AVfoundation拍摄图像(是的,我记住,用户选择将实现此功能)

关于堆栈溢出的两个问题提供了最多的信息:

这两个答案都指捕获视频帧,我认为这是正确的.问题是AVfoundation库不是很容易掌握,我不能真正掌握它(捕获图像使用AVCaptureStillImageOutput本身对我来说很难).

iphone objective-c avfoundation ios

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

如何获取UIBezierPath的反向路径

self.myPath=[UIBezierPath bezierPathWithArcCenter:center 
                                           radius:200 
                                       startAngle:0 
                                         endAngle:180 
                                        clockwise:YES];
Run Code Online (Sandbox Code Playgroud)

(这让我能够通过一些网络搜索来运行起来).

我有这条路.现在我想填补这条路径的反面,所以留下这部分并填充其他所有内容.我怎样才能完成编码?我对此没有太多信息.

问题

在此输入图像描述

在使用Cemal之后它显示的区域之前它只显示了一个带红色笔划的圆圈.

编辑

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        self.backgroundColor = [UIColor whiteColor];
        self.punchedOutPath =  
         [UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 50, 400, 400)];
        self.fillColor = [UIColor redColor];
        self.alpha = 0.8;
    }
    return self;
}

- (void)drawRect:(CGRect)rect
{
    [[self fillColor] set];
    UIRectFill(rect);

    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextSetBlendMode(ctx, kCGBlendModeDestinationOut);

    [[self punchedOutPath] fill];

    CGContextSetBlendMode(ctx, kCGBlendModeNormal);
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

iphone objective-c ios uibezierpath

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

UIGraphicsGetImageFromCurrentImageContext视网膜分辨率?

UIImageView *cellimage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0 , 107, 70)];
Run Code Online (Sandbox Code Playgroud)

我相信以上声明将在视网膜分辨率设备和标准分辨率设备中制作适当的尺寸.标准上为107 x 70像素,视网膜上为214 x 140.

我想知道的是,如果下面UIGraphicsGetImageFromCurrentImageContext也是这样做的..图像标准为67 x 67,视网膜版本为124 x 124?

    CGSize imagesize = CGSizeMake(67, 67);
        UIGraphicsBeginImageContext(imagesize);
        NSLog(@" Converting ");
        [image drawInRect:CGRectMake(0,0,imagesize.width,imagesize.height)];
        newImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();  
Run Code Online (Sandbox Code Playgroud)

如果没有,谁能告诉我如何区分模型.谢谢

iphone objective-c ios

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

Google登录无法在iOS中运行 - GOOGLE_APP_ID错误无效

我在iOS应用程序中使用谷歌登录,但它显示我的错误.

我用Cocoapods添加sdk.当我在项目中进行所有设置并启动应用程序获取此项

plist文件'GoogleService-Info.plist'中的GOOGLE_APP_ID或自定义选项中设置的GOOGLE_APP_ID无效.如果您使用的是plist文件,请使用iOS版本的软件包标识符来下载文件,而不要手动编辑GOOGLE_APP_ID.您可以将应用的包标识符更改为"(null)".或者,您可以从https://console.firebase.google.com/下载与您的软件包标识符匹配的新配置文件,并替换当前的配置文件 .

我正确添加的所有东西都不知道为什么它不起作用.之前它正在工作我已更新我的pod文件以获得最新的谷歌标志sdk.

当我安装pod(pod have)时,我的pod文件有pod'Google/SignIn'

Installing FirebaseAnalytics (3.2.0) 
Installing FirebaseInstanceID (1.0.6) 
Run Code Online (Sandbox Code Playgroud)

即使我没有添加任何与Firebase相关的东西,我也不知道为什么会这样.

这是我的分析依赖项下载依赖项

Installing FirebaseAnalytics (3.2.0)
Installing FirebaseInstanceID (1.0.6)
Installing Google (3.0.3)
Installing GoogleAppUtilities (1.1.1)
Installing GoogleAuthUtilities (2.0.1)
Installing GoogleInterchangeUtilities (1.2.1)
Installing GoogleNetworkingUtilities (1.2.1)
Installing GoogleSignIn (4.0.0)
Installing GoogleSymbolUtilities (1.1.1)
Installing GoogleUtilities (1.3.1)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `googletest.xcworkspace` for this project from now on.
Sending stats
Run Code Online (Sandbox Code Playgroud)

为什么要安装Firebase依赖项和谷歌签名

如何解决这个问题.

iphone objective-c ios google-signin

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

通过Proguard从apk中删除活动

我有一个特殊的情况,我需要删除Activity代码本身没有使用的,而不是在Manifest中引用.换句话说,它是死代码,没有混淆,所以我想摆脱它.

普通约束保留了扩展的类,Activity这通常很好,但是保留了死代码.

如何排除这种特殊Activity情况?

java android proguard

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

设备中的EXC_BAD_ACCESS,而不是模拟器中

我在我的项目中实现了adwhirl.我之前已经在我的项目中实现了它,所以我只是将它合并到我之前的当前项目中.

- (UIViewController *)viewControllerForPresentingModalView {
{
  return self;
}
Run Code Online (Sandbox Code Playgroud)

我在之前的项目中使用了这个..因为我的window.rootvviewcontroller只是自己的.但是在我目前的项目中,有很多屏幕我正在展示广告,所以我使用过:

- (UIViewController *)viewControllerForPresentingModalView {
    {
      return return [[(AppDelegate *)[[UIApplication sharedApplication] delegate] window] rootViewController] ;;
    }
Run Code Online (Sandbox Code Playgroud)

主要问题是程序崩溃了,现在仍然如此.起初一切都还好:iads测试广告已加载,但很少崩溃.我很快就明白这是因为Admob.它很少崩溃,因为大多数时候没有加载admob广告.

现在搜索这些崩溃,我遇到了一个问题,因为我在Xcode 4.2而不是之前的项目Xcode 4.0中完成了项目,因此我的窗口和视图控制器中存在强大的属性.我删除了它.

现在的问题是在模拟器中它没有崩溃但它在设备中崩溃.

错误是在我将adview添加为子视图之后,它已经- (UIViewController *)viewControllerForPresentingModalView 通过此功能但在 adWhirlDidReceiveAd方法之前.

实际崩溃是[GADRequestPrivate spamSignals] EXC_BAD_ACCESS.

iphone adwhirl ios

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

CodeSign错误:SDK"iOS 8.0"中的产品类型"App Extension"需要代码签名

"我将上传我的应用程序的二进制文件,其中包含应用程序扩展,但它给出了错误

包含应用程序的标识符与扩展应用程序不匹配.CodeSign错误:SDK'iOS 8.0中的产品类型'AppExtension'需要代码签名'供应配置文件与软件包标识符不匹配:构建设置中指定的供应配置文件("配置文件名称")的AppID为"com.CompanyName". AppName"与您的包标识符不匹配"com.CompanyName.AppName.ExtensionName"

如果我们使用相同的Bundle Identifier,那么它在二进制上传期间会出错.

     “The app extension is not signed with the valid Provisioning certificate”
    Embedded binary is not signed with the same certificate as the parent app. 
Verify the embedded binary target's code sign settings match the parent app's.
Run Code Online (Sandbox Code Playgroud)

任何建议将不胜感激.谢谢

provisioning-profile bundle-identifier ios8 ios-app-extension

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

推送通知中的设备令牌

我想只向某些用户发送推送通知.

从我在Apple文档中经历的内容.注册推送通知的代码是这样的

- (void)applicationDidFinishLaunching:(UIApplication *)app {
   // other setup tasks here....
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];
}

// Delegation methods
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
    const void *devTokenBytes = [devToken bytes];
    self.registered = YES;
    [self sendProviderDeviceToken:devTokenBytes]; // custom method
}

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err {
    NSLog(@"Error in registration. Error: %@", err);
}
Run Code Online (Sandbox Code Playgroud)

在方法appdidRegisterForRemoteNotif..我只看到创建的devToken字节并发送到服务器..但我如何识别哪个设备令牌属于哪个用户.所以,如果我的设备名称是Shubhank的iPhone.如何发送我的iPhone是这样的信息,这是我的设备令牌.

iphone objective-c devicetoken ios

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

来自笔尖的自定义UiTableViewCell无需重用?

我需要使用表中关联的NIB加载自定义单元格而不使用"dequeueReusableCellWithIdentifier:"

单元格必须加载新的,不想重用旧的..

假设该类被称为"CustomCell.h和CustomCell.m"和NIB CustomCell.xib

如何分配和初始化单元格不使用它们?

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

CustomCell *cell = ??

//cell customization

return cell
Run Code Online (Sandbox Code Playgroud)

}

如何解决这个问题?

objective-c uitableview ios xcode5

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