小编Gui*_*gis的帖子

NSNumber from CGFloat

Is there a safe way to "convert" a CGFloat to a NSNumber ?

NSNumber has the numberWithFloat: and numberWithDouble: methods but CGFloat being defined as float or double depending on the platform, it seems risky to use either one of them.

或者numberWithDouble:安全使用a CGFloat,因为它是更精确的?

floating-point objective-c nsnumber cgfloat

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

在iOS中注册自定义文件类型

我正在研究iOS应用程序,其中我希望XML文件成为此应用程序的主要输入.我已经开始搜索行程(主要在stackoverflow中)以查找如何从电子邮件接收XML文件.

首先,我找到了一种替代方法,即为我的文件注册URL格式,并在电子邮件中使用它而不是附加的文件,这种方法很有效.

现在我想使用文件本身(附件)我发现我需要在此应用程序中注册自定义文件类型取决于此资源

  1. 苹果参考
  2. stackoverflow问题
  3. stackoverflow问题2

与此相关我已使用此代码编辑了info.plist文件

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>XML File</string>
        <key>CFBundleTypeRole</key>
        <string>Viewer</string>
        <key>LSHandlerRank</key>
        <string>Owner</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.IT.parseXML.XML</string>
        </array>
    </dict>
</array>
Run Code Online (Sandbox Code Playgroud)

这部分也是

<key>UTExportedTypeDeclarations</key>
<array>
    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.text</string>
        </array>
        <key>UTTypeDescription</key>
        <string>XML Document</string>
        <key>UTTypeIdentifier</key>
        <string>public.xml</string>
        <key>UTTypeReferenceURL</key>
        <string>http://www.w3.org/TR/rec-xml</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>public.filename-extension</key>
            <array>
                <string>xml</string>
            </array>
            <key>public.mime-type</key>
            <string>text/xml</string>
        </dict>
    </dict>
</array>
Run Code Online (Sandbox Code Playgroud)

我期望能够处理来自电子邮件的XML文件......但这不会发生,我错过了什么?

提前致谢

file-type objective-c ios

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

具有多个模板专用派生类的通用基类

我有一个有限数量的类与几乎相同的实现,唯一不同的是他们操作的基础数据类型:

class IntContainer
{
public:
    void setData(int data);
    int getData();
    int _data;
};

class BoolContainer
{
public:
    void setData(bool data);
    bool getData();
    bool _data;
};

class StringContainer
{
public:
    void setData(std::string data);
    std::string getData();
    std::string _data;
};

// Etc. You get the idea.
Run Code Online (Sandbox Code Playgroud)

我想通过使用如下模板来减少这些类的代码重复:

template<typename T>
class GenericContainer
{
public:
    void setData(T data);
    T getData();
    T _data;
};
Run Code Online (Sandbox Code Playgroud)

专业化:

typedef GenericContainer<int> IntContainer;
typedef GenericContainer<bool> BoolContainer;
typedef GenericContainer<std::string> StringContainer;
Run Code Online (Sandbox Code Playgroud)

这很好用.我还想为这些专用类添加一个抽象基类,以便能够以通用方式操作它们(例如,在集合中).问题是这个基类应该有getDatasetData方法能够调用它们,即使不知道被操纵的对象的动态类型.

我会用这样的东西实现它:

class Base
{
public: …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance templates abstract-class

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

点击时,UICollectionView单元格会更改背景

是否有可能UICollectionView仅在轻敲元素时更改背景颜色.我试过了:

-(void) collectionView:(UICollectionView *)collectionView didHighlightItemAtIndexPath:(NSIndexPath *)indexPath{
    //change color when tapped
}

-(void)collectionView:(UICollectionView *)collectionView didUnhighlightItemAtIndexPath:(NSIndexPath *)indexPath{
    //change back on touch up 
}
Run Code Online (Sandbox Code Playgroud)

但结果是,只有当我的手指保持更长时间时才能看到变化.是否有类似UITableViewCell方法的东西willSelectItemAtIndexPath:

objective-c ios uicollectionview

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

在 Swift 中使用 NSLayoutManager 隐藏 Markdown 字符

我正在使用 Markdown 语法的 Mac 应用程序中的富文本编辑器。我NSTextStorage过去常常在 Markdown 语法中观察匹配项,然后NSAttributedString像这样实时地将样式应用到:

在此处输入图片说明

在这一点上,我已经在这方面不知所措,但我很高兴能够取得进展。:)本教程非常有帮助

作为下一步,我想在呈现 's 字符串时隐藏 Markdown 字符NSTextView。所以在上面的例子中,一旦最后一个星号被输入,我希望* *字符被隐藏,只是sample以粗体显示。

我正在使用NSLayoutManager委托,我可以看到匹配的字符串,但我不清楚如何使用该shouldGenerateGlyphs方法生成修改后的字形/属性。这是我到目前为止所拥有的:

func layoutManager(_: NSLayoutManager, shouldGenerateGlyphs _: UnsafePointer<CGGlyph>, properties _: UnsafePointer<NSLayoutManager.GlyphProperty>, characterIndexes _: UnsafePointer<Int>, font _: NSFont, forGlyphRange glyphRange: NSRange) -> Int {
    let pattern = "(\\*\\w+(\\s\\w+)*\\*)" // Look for stuff like *this*
    do {
        let regex = try NSRegularExpression(pattern: pattern)
        regex.enumerateMatches(in: textView.string, range: glyphRange) {
            match, _, _ in …
Run Code Online (Sandbox Code Playgroud)

nslayoutmanager nstextview nstextstorage textkit

8
推荐指数
2
解决办法
1344
查看次数

CSS"位置:固定":移动缩放

我正试图在移动浏览器上解决css"position:fixed"属性的问题.我有一个固定的div:

<div id="logo">
...other content here...
</div>
Run Code Online (Sandbox Code Playgroud)

用css:

#logo{
    position: fixed;
    -webkit-backface-visibility: hidden;
    bottom: 100px;
    right: 0px;
    width: 32px;
    height: 32px;
}
Run Code Online (Sandbox Code Playgroud)

因此,通常行为完全是所需的行为,div位置始终位于窗口的右下角,与滚动位置无关.我的问题是,在移动浏览器上,当用户缩放页面时,在某个缩放级别之后,div位置是错误的(有时div会从窗口中消失).

我知道移动浏览器不支持固定位置,但我想知道是否有一些解决方法.我尝试使用这个js代码onScroll事件:

window.addEventListener('scroll', function(e){
    drag.style['-webkit-transform'] = 'scale(' +window.innerWidth/document.documentElement.clientWidth + ')';\\I want to avoid zoom on this element
    var r = logo.getBoundingClientRect();
    var w = window.innerWidth;
    var h = window.innerHeight;
    if(r.right != w){
        rOff = r.right - w;
        logo.style.right = rOff;
    }
    if(r.top+132 != h){\
        tOff = r.top + 132 - h;
        logo.style.bottom = tOff;
    }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,代码似乎回到了错误的位置.

有人有任何提示吗?

html javascript css css-position mobile-browser

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

Xcode无法将调试器附加到iOS 11上的NotificationServiceExtension

当尝试在iOS 11设备上调试UNNotificationServiceExtension时,Xcode无法正确附加到Extension进程,并且进程本身在被拦截和处理收到的通知之前被Springboard杀死.

当运行由Xcode创建的Scheme来调试扩展时,总是会发生这种情况.正常调试应用程序时(使用"主"应用程序方案),NotificationServiceExtension运行正常并拦截通知(但无法调试).

以下日志显示在设备控制台上:

错误SpringBoard [com.acme.notification]扩展将因启动缓慢而被终止

错误SpringBoard Hub连接错误错误Domain = NSCocoaErrorDomain Code = 4097"连接到名为com.acme.notification的服务"UserInfo = {NSDebugDescription =连接到名为com.acme.notification的服务}

有时,Xcode在收到通知时也会弹出错误对话框(调试器应该附加时):

无法附加到pid:"{PID NUMBER}"

确保"com.acme.notification"尚未运行,{USER}有权对其进行调试.

请注意,在运行iOS 10的设备上,这工作正常,Extension有机会处理通知,调试器将正常附加和中断扩展代码.

我在这里缺少什么,或者这是我应该向Apple报告的错误?有同样行为的人吗?

xcode push-notification ios

7
推荐指数
0
解决办法
1301
查看次数

获取awakeFromNib中的插座大小

我创建了一个UICollectionViewCell包含标签插座的自定义(放在故事板中).我想从awakeFromNib我的自定义方法中获取此标签的高度UICollectionViewCell,但标签的大小始终为0.000000:

// .h
@interface MyCustomCell : UICollectionViewCell

@property (weak, nonatomic) IBOutlet UILabel *myLabel;

@end

// .m
@implementation MyCustomCell

-(void)awakeFromNib
{
    [super awakeFromNib];

    NSLog(@"%@", self.myLabel);
    NSLog(@"%f", self.myLabel.frame.size.width);
    NSLog(@"%f", self.myLabel.frame.size.height);
}

@end
Run Code Online (Sandbox Code Playgroud)

控制台输出:

2013-02-06 11:13:59.628 Test[8880:c07] <UILabel: 0x7649a00; frame = (0 0; 0 0); text = '12h00'; clipsToBounds = YES; opaque = NO; autoresize = TM+BM; userInteractionEnabled = NO; layer = <CALayer: 0x7649ac0>>
2013-02-06 11:13:59.628 Test[8880:c07] 0.000000
2013-02-06 11:13:59.630 Test[8880:c07] 0.000000
Run Code Online (Sandbox Code Playgroud)

如何获得标签的大小?在awakeFromNib被叫时获取此类信息还为时尚早吗?如果是这样,我的自定义单元格的哪种方法应该可以得到大小? …

objective-c ios awakefromnib

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

图像未在表视图中立即加载

我正在使用SDWebImage和抓取与新闻API中的新闻文章相关联的图像.

问题是,在我开始滚动之前,屏幕上的单元格图像没有加载UITableView.一旦我滚过一个单元格,它就会离开屏幕,一旦我回到它,最终会加载Image.

这是我的(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath代码:

if ([feedLocal.images count] == 0) {
    [cell.imageView setImage:[UIImage imageNamed:@"e.png"]];
}
else {    
    Images *imageLocal = [feedLocal.images objectAtIndex:0];
    NSString *imageURL = [NSString stringWithFormat:@"%@", imageLocal.url];
    NSLog(@"img url: %@", imageURL);

    // Here we use the new provided setImageWithURL: method to load the web image
    __weak UITableViewCell *wcell = cell;
    [cell.imageView setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@", imageURL]]
                   placeholderImage:[UIImage imageNamed:@"115_64.png"]
                          completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType) {
                              if(image == nil) {
                                  [wcell.imageView setImage:[UIImage …
Run Code Online (Sandbox Code Playgroud)

objective-c uitableview ios sdwebimage

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

块的Objective-C clang格式

我已经搜索了谷歌并用我的.clang格式文件修补了几个小时了.

我希望我的块看起来像这样:

[UIView animateWithDuration:0.3 animations:^{
    label.alpha = 0;
} completion:^(BOOL finished) {
    label.hidden = YES;
}];
Run Code Online (Sandbox Code Playgroud)

不是这个:

[UIView animateWithDuration:0.3 animations:^{
    label.alpha = 0;
}
    completion:^(BOOL finished) {
        label.hidden = YES;
    }];
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到正确的参数或参数组.

我也给了Uncrustify一个镜头,但是用新的配置文件语法盯着是不可取的,特别是如果有一个clang格式的解决方案.

objective-c ios clang-format

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