index.html

  • "js/mine.js", "ng-app=ionicApp" 그리고 body 안에 있는 html 태그를 제외하고는 모두 ionic 프로젝트 생성 시 기본으로 생성되는 내용입니다.
<!DOCTYPE html>
<html ng-app="ionicApp">
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
<title></title>
<link href="lib/ionic/css/ionic.css" rel="stylesheet">
<!-- <link href="lib/ionic/css/ionicons.css" rel="stylesheet"> -->
<link href="css/style.css" rel="stylesheet">
<!-- IF using Sass (run gulp sass first), then uncomment below and remove the CSS includes above
<link href="css/ionic.app.css" rel="stylesheet">
-->
<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<!-- cordova script (this will be a 404 during development) -->
<script src="cordova.js"></script>
<!-- your app's js -->
<script src="js/mine.js"></script>
</head>
<body>
    <ion-tabs class="tabs-icon-bottom tabs-icon-only">

        <ion-tab ng-controller="friends" title="친구" icon-on="ion-person" icon-off="ion-person">
            <ion-header-bar class="bar-dark">
                <a class="button button-clear button-white" ng-click="toggleEdit()">{{data.status}}</a>
                <h1 class="title">친구</h1>
                <a class="button button-clear button-white">
                    <i class="icon ion-person-add"></i>
                </a>
            </ion-header-bar>

            <ion-content>
                <ion-list show-delete="data.showDelete">
                    <ion-item ng-repeat="item in items" item="item">
                        {{item.name}}
                        <ion-delete-button class="ion-minus-circled" ng-click="onItemDelete(item)"></ion-delete-button>
                    </ion-item>
                </ion-list>
            </ion-content>
        </ion-tab>

        <ion-tab title="채팅" icon-on="ion-chatbubble" icon-off="ion-chatbubble">
        <!-- Tab 2 content -->
        </ion-tab>

        <ion-tab title="채널" icon-on="ion-ios-list" icon-off="ion-ios-list">
        <!-- Tab 3 content -->
        </ion-tab>

        <ion-tab title="더보기" icon-on="ion-more" icon-off="ion-more">
        <!-- Tab 4 content -->
        </ion-tab>

    </ion-tabs>
</body>
</html>

js/mine.js

  • Android 기기에서는 Tab의 위치가 기본으로 Top 으로 지정이 되고 iOS 에서는 Bottom 으로 지정이 되는 것을 항상 Bottom 으로 지정이 되도록 하였습니다.
  • 그리고 친구 리스트를 편집/완료 할 수 있는 기능을 추가 하였습니다.
# js/mine.js

angular.module('ionicApp', ['ionic'])

.config(function($ionicConfigProvider) {
    // 모든 OS 에서 Tab의 위치를 Bottom 으로 지정
    $ionicConfigProvider.tabs.position("bottom");
    $ionicConfigProvider.tabs.style("standard");
})

.controller('friends', function($scope) {
    $scope.data = {
        status: '편집',
        showDelete: false
    };

    $scope.items = [
        {name: '친구1'},
        {name: '친구2'}
    ];

    $scope.toggleEdit = function() {
        $scope.data.status = $scope.data.showDelete === false ? '완료' : '편집';
        $scope.data.showDelete = $scope.data.showDelete === false ? true : false;
    };

    $scope.onItemDelete = function(item) {
        $scope.items.splice($scope.items.indexOf(item), 1);
    };
})

;

결과