0

Titanium for iOSでチェックボックスを作成するにはどうすればよいですか?

4

2 に答える 2

2

これは、同様のことを行う方法の非常に単純化された例です

var win = Ti.UI.createWindow()

function createCheckbox (specs) {
    if(typeof specs != "object")
        specs = {};
    specs.width = specs.width || 25
    specs.backgroundColor = specs.unCheckedColor || "white"
    specs.height = specs.height || 25
    specs.border = specs.border || 1
    specs.borderColor = specs.borderColor || "silver"
    var viw = Ti.UI.createView(specs)
    
    function togglecheck () {
        if(!viw.checked) {
            viw.checked = true;
            viw.backgroundColor = specs.checkedColor || "green"
        }
        else {
            viw.checked = false;
            viw.backgroundColor = specs.unCheckedColor || "white"
        }           
    }
    viw.addEventListener("click",togglecheck)
    
    return viw
}

var checkbox = createCheckbox({})

win.add(checkbox)

また、背景画像を使用してビューにチェックマークを表示したり、少し大きいビューに小さなビューを追加して、内側のビューのみに境界線の色を付け、外側のビューにチェックマークの画像を表示することもできます

これがあなたを正しい方向に向けることを願っています


編集:これは画像の例ですが、これは本当に見た目が悪いので、実際に新しいもの(明らかに透明)を作成します^^とにかく、この方法で画像を含むチェックボックスが機能する可能性があります

var win = Ti.UI.createWindow()
Ti.UI.setBackgroundColor("#FFF")
function createCheckbox (specs,checkboxspecs,image) {
    
    if(typeof checkboxspecs != "object")
        checkboxspecs = {};
    checkboxspecs.width = checkboxspecs.width || 25
    checkboxspecs.backgroundColor = checkboxspecs.unCheckedColor || "white"
    checkboxspecs.height = checkboxspecs.height || 25
    checkboxspecs.border = checkboxspecs.border || 1
    checkboxspecs.borderColor = checkboxspecs.borderColor || "silver"
    var imageView = Ti.UI.createImageView({
        image:image || "acheckbox.gif",
        height:checkboxspecs.height * 1.5,
        bottom:3 + checkboxspecs.height * 0.5,
        left:3 + checkboxspecs.width * 0.5,
        opacity:0
    })  
    
    var viw = Ti.UI.createView(checkboxspecs)
    specs.width =  checkboxspecs.width * 1.5;
    specs.height = checkboxspecs.height * 1.5;
    
    var outerview = Ti.UI.createView({
        width: specs.width * 1.5,
        height: specs.height * 1.5,
    })
    var clickview = Ti.UI.createView({
        width:checkboxspecs.width,
        height:checkboxspecs.height
    })
    outerview.add(viw)
    outerview.add(imageView)
    outerview.add(clickview)
    
    function togglecheck () {
        if(!viw.checked) {
            viw.checked = true;
            imageView.opacity = 1;
            
        }
        else {
            viw.checked = false;
            imageView.opacity = 0;
        }           
    }
    clickview.addEventListener("click",togglecheck)
    return outerview
}

var checkbox = createCheckbox({},{
    width:20,
    height:20,
    borderRadius:3,
    border:2
},"checkbox.gif")

win.add(checkbox)

win.open()

画像を「checkbox.gif」として保存し、Resourcesフォルダに入れます(本当は新規作成) ここに画像の説明を入力

于 2012-11-09T10:10:17.877 に答える
0

この質問によると、iOS にはチェックボックスがありません。おそらくUIスイッチを使用したいと思うでしょう。

于 2012-11-09T09:59:31.630 に答える