小编Ian*_*nry的帖子

iOS:无法将UISplitViewController推送到UINavigationController

我有一个使用导航控制器的XCode iPad项目.我试图获得一个按钮将UISplitViewController推送到导航堆栈,但是出现了这个错误:

拆分视图控制器无法推送到导航控制器

原来UISplitViewController不能很好地与UINavigationController一起使用.但是,单击此按钮时,我仍需要显示拆分视图控制器.我该怎么做呢?而且,同样重要的是,如何制作一个后退按钮,以便用户可以返回到导航控制器?

uinavigationcontroller uisplitviewcontroller ios ios5

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

有没有办法将`if case`语句写成表达式?

考虑以下代码:

enum Type {
    case Foo(Int)
    case Bar(Int)

    var isBar: Bool {
        if case .Bar = self {
            return true
        } else {
            return false
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

真恶心.我想写这样的东西:

enum Type {
    case Foo(Int)
    case Bar(Int)

    var isBar: Bool {
        return case .Bar = self
    }
}
Run Code Online (Sandbox Code Playgroud)

但是这样的构造似乎并不存在于Swift中,或者我找不到它.

由于每种情况都有相关的数据,我认为不可能~=以与上述表达式等效的方式实现运算符(或任何其他帮助程序).并且在任何情况下,if case所有枚举都存在免费语句,并且不需要手动实现.

因此,我的问题是:有没有isBar比我上面所说的更简洁/声明/清洁/惯用的方式?或者,更直接地说,有没有办法将if case 语句表达为Swift 表达式

swift

21
推荐指数
1
解决办法
2130
查看次数

有没有简单的方法来格式化T-SQL中的小数?

我知道它可以在非SQL环境中轻松完成[后数据处理,前端,你有什么],但目前还不可能.有没有办法取一个decimal(5,2)并将其转换为varchar没有尾随零/小数点?例如:

declare @number decimal(5,2)
set @number = 123.00
select cast(@number as varchar) as FormattedNumber
Run Code Online (Sandbox Code Playgroud)

结果是'123.00'.是否有(简单)方法来获得'123'?同样,而不是'123.30','123.3'?可以通过弄清楚百分之十/十分位数是否为0并手动修剪字符来做到这一点,但我想知道是否有更优雅的解决方案.

sql t-sql

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

如何在contentEditable范围内进行纯文本粘贴而不破坏撤消?

奇怪的具体问题,但我有一个解决方案已经<span contentEditable="true">通过使用隐藏粘贴纯文本textarea,这似乎工作得很好,除了它打破浏览器的撤消功能.马上,我并不担心跨浏览器解决方案; 我只关心Chrome.我的方法大致如下:

$('.editable').live('paste', function()
{
    var $this = $(this);

    //more code here to remember caret position, etc

    $('#clipboard').val('').focus(); //put the focus in the hidden textarea so that, when the paste actually occurs, it's auto-sanitized by the textarea

    setTimeout(function() //then this will be executed immediately after the paste actually occurs
    {
        $this.focus();
        document.execCommand('insertHTML', true, $('#clipboard').val());
    });
});
Run Code Online (Sandbox Code Playgroud)

所以这是有效的 - 我可以粘贴任何东西,并且在进入我的contentEditable字段之前它被简化为纯文本- 但是如果我在粘贴后尝试撤消:

  • 首先撤消撤消粘贴.
  • 第二次撤消尝试撤消更改#clipboard,将焦点从我的移开contentEditable.

我已经尝试了所有我能想到的东西,让浏览器不要尝试撤消更改#clipboard- display:none当它没有主动使用时切换,切换readonly和 …

javascript jquery webkit contenteditable

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

如何检测iOS设备是否支持模糊效果?

似乎不同的iOS设备UINavigationBar使用barStyle = UIBarStyleBlacktranslucent = YES非常不同地呈现s .考虑:

iPhone 4,没有色调: iPhone 4,没有色彩

iPhone 5,没有色调: iPhone 5,没有色彩

iPhone 4 barTintColor = [UIColor colorWithWhite:0.0f alpha:0.5f]: iPhone 4,有色

iPhone 5, barTintColor = [UIColor colorWithWhite:0.0f alpha:0.5f]: iPhone 5,有色

iPhone 5在没有色调的情况下产生所需的效果,但4是不透明的.添加半透明色调使4看起来很好,但拧紧5.

iPad 2和3也是如此,理论上任何不支持iOS 7模糊效果的设备也是如此.

如果没有将这些旧设备列入黑名单,我如何检测设备是否支持模糊,以便我可以有条件地解决渲染差异?或者有没有办法在不使用色调的情况下标准化外观?

iphone ipad ios ios7

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

你能改变UITextView中的光标颜色吗?

是否可以在UITextView中覆盖光标的颜色和自动更正气泡?这是在内置的Notes应用程序中完成的,但我不知道它是否是通过公共方式完成的.

我在任何文档中都找不到任何对此的引用,所以我担心它是UIKeyboard中的私有API集等.我错过了一些明显的东西吗

iphone uikit

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

拥抱类型签名包含额外的类型约束?

在和Haskell一起玩的时候碰到了这个,我很难过:

Hugs> :type (\x -> x^2)
\x -> x ^ 2 :: (Integral a, Num b) => b -> b
Run Code Online (Sandbox Code Playgroud)

a在那做什么?我怎么读这个?如果我在GHCi中键入相同的内容,它会为我提供我期望的输出:

Prelude> :type (\x -> x^2)
(\x -> x^2) :: Num a => a -> a
Run Code Online (Sandbox Code Playgroud)

这是Hugs中的一个错误吗?

haskell hugs

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

如何在Swift中解决这种模糊的类型错误?

所以我创建了一个新的Xcode项目,并写了这个Podfile:

use_frameworks!

target 'Repro' do
  pod 'Alamofire'
  pod 'Result'
end
Run Code Online (Sandbox Code Playgroud)

然后我跑了pod install,打开了工作区,并创建了一个包含以下内容的新文件:

import Alamofire
import Result

private func something(request: Request) -> Result<Bool, NSError> {
    fatalError()
}
Run Code Online (Sandbox Code Playgroud)

我尝试构建这个,但Xcode产生了错误'Result' is ambiguous for type lookup in this context.所以我尝试了明显的修复:

import Alamofire
import Result

private func something(request: Request) -> Result.Result<Bool, NSError> {
    fatalError()
}
Run Code Online (Sandbox Code Playgroud)

但这给了我错误Reference to generic type 'Result' requires arguments in <...>,好像Swift正在将模块名称解析为类型名称.

什么是非明显的修复?

ios swift

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

如何在转换为 trait 对象时使用 Rc::clone?

锈病书上说,它是地道的使用Rc::clone(&x),而不是x.clone()Rc值,这样很明显,这不是典型的clone。我完全赞成这一点,但我在实践中无法应用该理论。

我想克隆一个引用计数的结构,但将克隆转换为特征对象。我可以使用rc.clone(),但不能使用Rc::clone(&rc). 这对我来说……很奇怪。

struct ListView {}
trait View {}
impl View for ListView {}

fn very_contrived_example() {
    let list_view: Rc<ListView> = Rc::new(ListView {});
    let mut views: Vec<Rc<dyn View>> = Vec::new();

    // Using Rc::clone does not work:

    // error[E0308]: mismatched types
    //
    // views.push(Rc::clone(&list_view));
    //                      ^^^^^^^^^^ expected trait object `dyn View`, found struct `ListView`
    //
    // note: expected reference `&Rc<dyn View>`
    //          found reference `&Rc<ListView>`

    // Using …
Run Code Online (Sandbox Code Playgroud)

rust trait-objects

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

如何选择存储过程的返回值?

看起来这可能是微不足道的,但是我的SQL没有达到标准,我无法弄明白.我只想从存储过程中选择一个返回的标量.基本上是这样的:

select dbo.sProcedure @param
Run Code Online (Sandbox Code Playgroud)

但这会引发错误.从过程中返回结果集并不是一个真正的选择.有可能这样做,还是我需要开始重写一些代码?

sql t-sql sql-server

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

如何以编程方式关闭UITextView中的自动更正弹出窗口?

我正在自己做一些自定义自动完成的东西insertText:,但是如果有一个自动更正的建议可见,则视图进入一个奇怪的状态.

如果我使用[textView unmarkText]它,它会解散自动更正弹出的东西 - 但它接受自动更正(这是坏的).有没有办法以编程方式拒绝自动更正建议?

我当前的"解决方案"有效,但它很粗糙,而且我没有理由认为它将来会继续发挥作用.有一个更好的方法吗?

- (void)dismissAutocorrectSuggestionForTextView:(UITextView *)textView {
    NSRange range = textView.selectedRange;
    textView.text = textView.text;
    textView.selectedRange = range;
}
Run Code Online (Sandbox Code Playgroud)

cocoa-touch uitextview ios uitextinput

0
推荐指数
1
解决办法
2899
查看次数