Hyperloop 모듈 사용하기 (2) 이동해 봅시다.

마지막 설정 편 이어서 이번에는 간단한 기능을 추가하여 Hyperloop 모듈을 움직여 보겠습니다.

UIView



프로젝트를 만든 시점의 병아리에서 app/controllers/index.js를 편집합니다.
var UIView = require('UIKit/UIView');
var UIColor = require('UIKit/UIColor');

function addHyperLoopView(){
  var view = new UIView();
  view.backgroundColor = UIColor.redColor();
  $.index.add(view);
}

function doClick(e) {
  addHyperLoopView();
}

$.index.open();

빌드하고 버튼을 클릭하면 훌륭하게 화면이 새빨갛게 되어 아무것도 할 수 없게 됩니다. 성공입니다. 빌드 시간도 그다지 변하지 않습니다.

View(Android)



왼쪽 모서리에 빨간색 사각형을 표시합니다.
function doClick(e){
  var View = require('android.view.View');
  var Color = require('android.graphics.Color');
  var Activity = require('android.app.Activity');
  var Gravity = require('android.view.Gravity');
  var FrameLayout = require('android.widget.FrameLayout');
  var LayoutParams = require('android.widget.FrameLayout.LayoutParams');
  var activity = new Activity(Ti.Android.currentActivity);
  var view = new View(activity);
  view.backgroundColor = "Red";
  view.width = 100;
  view.height = 100;
  var layoutParams = new LayoutParams(50, 50, Gravity.TOP);
  layoutParams.setMargins(10, 10, 0, 0);
  var main = new FrameLayout(activity);
  main.setLayoutParams(new LayoutParams(600, 600, Gravity.TOP));
  view.setLayoutParams(layoutParams);
  view.setBackgroundColor(Color.RED);
  main.addView(view);
  $.index.add(main);
}

Titanium에서 그대로 한 것이 훨씬 낫습니다.

ViewController



그런 다음 Social.framework를 사용하여 ViewController를 사용해보십시오. Objective-C라면
[self presentViewController:vc animated:YES completion:nil];

같아지는데, 잘 생각하면 Titanium의 경우 self를 만질 수 없습니다. ViewController를 다룰 때는 view를 꺼내 주면 좋을 것입니다.
var SLComposeViewController = require('Social/SLComposeViewController');
var SLServiceTypeTwitter = require('Social').SLServiceTypeTwitter;

function doClick(e) {
  if(SLComposeViewController.isAvailableForServiceType(SLServiceTypeTwitter)){
    var slc = SLComposeViewController.composeViewControllerForServiceType(SLServiceTypeTwitter);
    slc.setInitialText("Hyperloopで呟くよ!");
    $.index.add(slc.view); // <- ココ
  }else{
    alert("Twitterの設定がないよ");
  }
}

$.index.open();



시도에 게시했습니다.

Hyperloop에서 중얼거릴거야! - 야기 노로 (@yagi_) 2016년 4월 30일

이런 식으로 SDK 업데이트를 기다리지 않고 새로운 기능을 사용하기 쉬워지는 것을 알 수 있을까 생각합니다. 글쎄, 확실히 경우에 따라.

Hyperloop의 샘플 프로젝트에는 그 밖에도 ListView의 구현도 있기 때문에, 스크롤 하는 일람의 동작이 느리다고 고민하고(그것을 Titanium의 탓으로 하고) 있는 사람 뭔가는 시험해 보면 좋지 않을까요.

좋은 웹페이지 즐겨찾기