小编Bic*_*ops的帖子

在iOS5中以不同方式绘制Unicode字符

将uibutton的标题设置为u25C0会使其在iOS5中具有蓝色背景但在iOS4.3中不具有蓝色背景.

奇怪的是,将标题设置为u25C2,排在前面的2个字符按预期显示.去图.我稍后会附上一张图片.

作为旁注,这个蓝色按钮目前在任何Apple应用程序中使用?

谢谢.

在此输入图像描述

左:iOS 5右:iOS 3.2

这是通过将标题设置为前面所述的unicode字符来完成的.

unicode fonts objective-c ios5

10
推荐指数
2
解决办法
2775
查看次数

Pylint:在"返回"(no-else-return)警告后禁用不必要的"else"

我正在查看我的RC文件,我不能为我的生活,找到这些变量中的哪一个禁用该功能.

我搜索了"if","else"和"return",我什么也没看到.除非我错过了.

谢谢.

更多信息

pylint 1.7.2,
astroid 1.5.3
Python 2.7.10 (default, Jul 30 2016, 18:31:42)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)]
Run Code Online (Sandbox Code Playgroud)

我把什么放进了终端

pylint --rcfile=.pylintrc Test.py
Run Code Online (Sandbox Code Playgroud)

测试代码

""" Module Docstring """

def IS_POSITIVE(number):
    """ detects positive """
    if number > 0:
        return "+++"
    else:
        return "---"


print IS_POSITIVE(3)
Run Code Online (Sandbox Code Playgroud)

打印出来

************* Module Test
R: 27, 4: Unnecessary "else" after "return" (no-else-return)

------------------------------------------------------------------
Your code has been rated at 8.00/10 (previous run: 8.00/10, +0.00)
Run Code Online (Sandbox Code Playgroud)

python pylint pylintrc

10
推荐指数
1
解决办法
4906
查看次数

添加KVO观察者会导致内存泄漏吗?

在一个nsobject中,你有一个属性"keyPath",你想要观察自己并使用它

[self addObserver:self forKeyPath:keyPath options:NSKeyValueObservingOptionNew context:nil];
Run Code Online (Sandbox Code Playgroud)

上述行是否会导致保留周期?

我提出这个问题是因为我想知道它是否是重写一堆setter函数的可行替代方案.

memory-leaks objective-c key-value-observing kvc retain-cycle

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

使用文本设置时UILabel显示自定义字体错误,但在代码中设置时工作正常

因此,当我使用文本设置为Plain的UILabel时,自定义字体在应用程序和IB中正确显示,但是当我将其设置为属性时,它在IB中看起来很好但在应用程序中却没有.

我以编程方式使用自定义字体到处都有属性字符串,它工作得很好.

我已经通过字体书在我的mac上安装了字体,我已经通过在info.plist和构建阶段的copy resources部分中设置了适当的属性将字体安装到我的应用程序中.我也在使用Xcode 6.1.1

我已经包含了一个示例项目来说明我的问题

这是在IB中设置的XIB中的标签的HTML.如您所见,它已设置为自定义字体.

<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO"
translatesAutoresizingMaskIntoConstraints="NO" id="kpn-Ch-m1y">
  <rect key="frame" x="20" y="84" width="560" height="100" />
  <constraints>
    <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="100" id="tyA-gf-Vjj" />
  </constraints>
  <attributedString key="attributedText">
    <fragment content="the attack of the chicken lover">
      <attributes>
        <font key="NSFont" size="11" name="HelveticaNeueLTStd-Cn" />
        <font key="NSOriginalFont" size="11" name="HelveticaNeueLTStd-Cn" />
        <paragraphStyle key="NSParagraphStyle" alignment="natural" lineBreakMode="wordWrapping" baseWritingDirection="natural" />
      </attributes>
    </fragment>
  </attributedString>
  <nil key="highlightedColor" />
  <variation key="heightClass=compact" ambiguous="YES">
    <rect key="frame" x="23" y="84" width="554" height="211" />
  </variation> …
Run Code Online (Sandbox Code Playgroud)

xcode fonts objective-c interface-builder ios

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

Apple为什么要为UIBezierPath翻转他们的单位圈?

在此输入图像描述

左侧的图像是典型的单位圆圈的样子.右边的那个来自文档.我还没有看到更深入的解释为什么它在网上被翻转.为什么会这样?

trigonometry core-graphics ios uibezierpath

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

Pod安装在Xcode Bots Trigger中

我用以下内容启动了预集成触发器

cd "${XCS_PRIMARY_REPO_DIR}"
pwd
pod install --verbose
Run Code Online (Sandbox Code Playgroud)

它给了我

pod: command not found
Run Code Online (Sandbox Code Playgroud)

简单吧?找不到pod二进制文件,我只是将它指向路径.简单.

cd "${XCS_PRIMARY_REPO_DIR}"
pwd
/usr/local/bin/pod install --verbose
Run Code Online (Sandbox Code Playgroud)

这给了我以下几点

env: ruby_executable_hooks: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这让我觉得ruby没有设置为触发器运行的权利.现在了解构建服务器终端中的一个简单的"pod安装"修复了所有这些并运行良好和花花公子.该项目肯定在构建服务器上正确构建.

所以,既然我认为环境搞砸了,我会尝试从包装器目录运行它,这应该设置好又好.这就是为什么它是正确的?每当我需要ruby在构建的运行脚本阶段运行时,这在历史上都有效.所以在这里我们继续触发.

~/.rvm/wrappers/ruby-2.2.3@global/pod install
Run Code Online (Sandbox Code Playgroud)

我在构建服务器的终端测试了这个,它很酷,所以我把它放到触发器中我得到这个

/Users/XcodeServer/.rvm/wrappers/ruby-2.2.3@global/pod: line 7: exec: pod: not found
Run Code Online (Sandbox Code Playgroud)

:/好吧我破解了pod源,看看第7行的内容

exec pod "$@"
Run Code Online (Sandbox Code Playgroud)

我不是一个红宝石人,但对我来说没有任何意义.哦是的,我尝试将cocoapods直接下载到usr/local/bin,而不是让它安装到其他目​​录中,首先卸载所有cocoapods然后执行以下操作

sudo gem install -n /usr/local/bin cocoapods --pre
Run Code Online (Sandbox Code Playgroud)

我把--pre因为我需要1.1.0.rc.2来修复构建swift 3的bug.任何人,这一切都行不通.似乎其他人都可以简单地说

cd /path/to/proj/
pod install
Run Code Online (Sandbox Code Playgroud)

进入他们的Xcode机器人触发器并让它们工作.

ruby bash xcode cocoapods xcode-bots

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

UIImageView 在没有 Alpha 的情况下混合颜色

我已经被这个问题困扰了好几天了,找不到解决方案。我有一个带有透明背景的 UIImageView 。它位于另一个视图之上(在示例中只是一个具有蓝色背景颜色的 UIView)。由于某种原因,即使它的 alpha 值为 0,它也会混合颜色(在这种情况下,全红色,没有 alpha 值显示为粉红色)。期望的输出是它会像没有 alpha 值的黑色一样清晰显示。

如果超过白色,则其行为符合预期(它是透明的并显示白色)。我尝试了不同的方法来创建 CGContext 和不同的 CALayer 混合模式,但无法让它不混合没有 alpha 值的颜色。

在此输入图像描述

这是一些复制该问题的示例代码。

import UIKit
import PlaygroundSupport
import CoreGraphics

class MyViewController : UIViewController {
    var pixelPointer: UnsafeMutablePointer<UInt8>!
    
    let imageWidth = 20
    let imageHeight = 20
    
    override func loadView() {
        let view = UIView()
        view.backgroundColor = .blue
        
        let viewSize: CGFloat = 150
        
        // Test Image
        pixelPointer  =  UnsafeMutablePointer<UInt8>.allocate(capacity: imageWidth * imageWidth * 4)
        let ctx  = CGContext(data: pixelPointer,
                             width: imageWidth,
                             height: imageHeight,
                             bitsPerComponent: 8,
                             bytesPerRow: …
Run Code Online (Sandbox Code Playgroud)

core-graphics colors uiimageview swift

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

理解Swift中map函数的简写闭包语法

我试图理解map函数使用的一些简写语法.

以下是设置

    let array = [1, 2, 3]

    // these make sense
    let arr1 = array.map({String($0)})
    let arr2 = array.map{String($0)}
    let arr3 = array.map({ number in
        return String(number)
    })
    let arr4 = array.map({ (number) -> String in
        String(number)
    })
Run Code Online (Sandbox Code Playgroud)

这是混乱的地方.在swift中,我可以放弃地图的花括号,但这似乎是无法完成的事情,对于我自己的函数,我有一个尾随闭包.可能会做出一些神奇的推论吗?同样为什么String以这种方式初始化?

    // this doesn't make sense. Foregoing the curly braces? I can't do that!!!
    let arr5 = array.map(String.init)    
    let arr6 = array.map(String())    // Compile Error: Cannot convert value of type 'String' to expected argument type '@noescape (Int) throws -> _'
Run Code Online (Sandbox Code Playgroud)

这是我尝试使用类似于map的语法 …

closures functional-programming swift

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

如何为等待函数调用添加超时

向等待函数添加超时的最佳方法是什么?

Example:

/// lets pretend this is in a library that I'm using and I can't mess with the guts of this thing
func fetchSomething() async -> Thing? {
    // fetches something
}

// if fetchSomething() never returns then doSomethingElse() is never ran. Is there anyway to add a timeout to this system?
let thing = await fetchSomething()
doSomethingElse()

Run Code Online (Sandbox Code Playgroud)

我想让系统在 fetchSomething() 永远不会返回的情况下更加健壮。如果这是使用组合,我会使用超时运算符。

concurrency async-await swift

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

touchesShouldCancelInContentView未被调用

我已经覆盖了子类,它拒绝调用touchesShouldCancelInContentView.我发誓我以前写过代码来做这件事.我正在覆盖该类,以便某些视图不会将触摸事件传递给滚动视图.

随着课程

@interface SlidingWindowScrollView : UIScrollView 
{
    UIView* noTouchView;
}

@property (nonatomic, retain) UIView* noTouchView;
@end
Run Code Online (Sandbox Code Playgroud)

并实施

@implementation SlidingWindowScrollView
@synthesize noTouchView;

- (BOOL)touchesShouldCancelInContentView:(UIView *)view
{
    BOOL shouldCancel = NO;
    if(view == noTouchView)
        shouldCancel = YES;

    NSLog(@"shouldCancel %d", shouldCancel);
    return shouldCancel;
}
@end
Run Code Online (Sandbox Code Playgroud)

在xib中,我在其中抛出一个scrollview和一个uiview,并在VC视图中写入这个加载.

scrollView.contentSize = CGSizeMake(scrollView.bounds.size.width*2,
                                    scrollView.bounds.size.height);
scrollView.pagingEnabled = YES;
scrollView.canCancelContentTouches  = YES;

contentView.frame = CGRectMake(scrollView.frame.size.width + 20,
                               0,
                               scrollView.frame.size.width,
                               scrollView.frame.size.height);
contentView.userInteractionEnabled = YES;
scrollView.noTouchView = contentView;
[scrollView setContentOffset:CGPointMake(scrollView.bounds.size.width, 0) animated:YES];
Run Code Online (Sandbox Code Playgroud)

我不知道是什么给了.这应该是一个简单的覆盖.我确保自定义类在XIB中是正确的,并且出口都说它是我的UIScrollView的新子类.我不是故意放肆但在最新的iOS API中做了些什么?这似乎应该很容易但它从不调用函数touchesShouldCancelInContentView.我很困惑.我非常感谢有人可以证明我错了并且让这个函数被scrollView调用.我想应该注意的是,print语句确实打印了,但可以一致地完成

如果你能在你的机器上工作,请告诉我,因为我没有看到任何错误.这让我疯了@ _ @希望有人可以帮助我.谢谢.

objective-c uiscrollview ios

3
推荐指数
2
解决办法
6457
查看次数