오랜시간 끝에 앱스토어에 런칭하였습니다.

도시농부들을 위한 아이폰용 다이어리 앱 #우븐 입니다.
올해 초에 도시농업 관련 스타트업 청년들과 의기투합 하며 개발을 시작했는데 이제서야 나왔어요.
저는 회사 다니면서 번외로 개발하느라 시간이 많이 걸렸네요.
아직 부족한게 많고 버그도 엄청 많아요 ㅠㅠ

링크를 누르시면 앱스토어로 이동합니다.
https://appsto.re/kr/Bp7a7.i

앱스토어에서 '우븐’으로 검색하셔도 됩니다.

마지막으로 질문하나 드립니다.

앱 상세보기 화면에서 리스트뷰 안에 사진과 글을 뿌려주고 있거든요.
그런데 로딩하고 나면 서버에서 원격으로 불러오는 이미지가 뿌려질때도 있고 안뿌려질때도 있어요.
리스트뷰를 스크롤하면 그제서야 뿌려지는데 아무래도 리스트뷰의 특성인것 같은데
해결할 방법이 있을까요?

개발환경 : Ti SDK 5.0.2 GA

뷰코드

 <ListView id="listView" defaultItemTemplate="TEMP_TEXT" zIndex="1000" height="Ti.UI.FILL" top="0" bottom="40" >
       
       		<RefreshControl id="refreshControl" platform="ios" onRefreshstart="fetchMedia" />
            
            <Templates>
	
                <ItemTemplate name="TEMP_TEXT" >
                    <View height="Ti.UI.SIZE">
                  	 	<Label bindId="contents" class="contents" />		                  	 
                    </View>
                </ItemTemplate>

 				<ItemTemplate name="TEMP_IMAGE" >
 					<View height="Ti.UI.SIZE">
                  	  <ImageView bindId="image" class="photo" onClick="zoomImage" />
                    </View>                   
                </ItemTemplate>
                
                
				<ItemTemplate name="TEMP_PROFILE">
				 	<View id="profileView" layout="vertical" height="170"   >
		            	<ImageView id="imgUserPic" bindId="userpic" top="20"  width="80" height="80" defaultImage="/images/icon/nouser_300.png"/>
						<Label id="lblUserName" bindId="username" />
						<Button id="btnGardenName" onClick="goUserGarden" bindId="gardenname"></Button>								
					</View>	
				</ItemTemplate>
               
               
                <ItemTemplate name="TEMP_COMMENT">
                	<View layout="vertical" height="Ti.UI.SIZE">
						<View id="commentView" >
							<ImageView bindId="userpic" defaultImage="/images/icon/nouser_300.png" top="10" left="5" />
	            			<Label bindId="username" id="lblCommentUserId"/>
	            			<Label bindId="regdate" id="lblCommentRegDate"/>
	            			<Label bindId="comment" id="lblComment"/>   
	            			         			
	            		</View>
	            		<View height="1" bottom="0" backgroundColor="#efefef"></View>
	            	</View>	
				</ItemTemplate>
				
				
            </Templates>

            <HeaderView>
        		<View backgroundColor="#fff" height="Ti.UI.SIZE">
	                <View height="Ti.UI.SIZE" layout="vertical"  top="10"  bottom="10" >
	                    <Label id="lblSubject"></Label>
	                    <Label id="lblRegDate"></Label>                    
	                </View>
	            </View>
        	</HeaderView>
        	
        	<FooterView>
        		<View height="20"></View>
        	</FooterView>>
        
        	<ListSection id="listSection"></ListSection>
        	<ListSection id="profileSection"></ListSection>
        	<ListSection id="commentSection"></ListSection>
            	
            
        </ListView>

컨트롤러 코드

if( model.get('CONTENT_TYPE_FG') == 'IMAGE' )
		{
			
			items.push({
				
				image : {
					image : Alloy.CFG.image_url +  model.get('CONTENTS') + '?quality=50&width=640&mode=resize',
					orgImage : Alloy.CFG.image_url +  model.get('CONTENTS'),
					width : deviceWidth,
					height : heightImg,
					defaultImage :  '/images/bg/green_dot.jpg' 				
				},
				
				template : 'TEMP_IMAGE',
					
				properties : {
					itemId : model.id,
					backgroundColor : 'white',
					height : Ti.UI.SIZE,				
					selectionStyle : (OS_IOS) ? Ti.UI.iPhone.ListViewCellSelectionStyle.NONE : null
					
				} 
				
			});
		}
		else
		{
			items.push({
				
				
				contents : {
					text :  model.get('CONTENTS')
				},
				
				template : 'TEMP_' + model.get('CONTENT_TYPE_FG'),
					
				properties : {
					itemId : model.id,
					backgroundColor : 'white',
					height : Ti.UI.SIZE,				
					selectionStyle : (OS_IOS) ? Ti.UI.iPhone.ListViewCellSelectionStyle.NONE : null
					
				} 
				
			});
		}
3개의 좋아요

Open이벤트에서 scrolltoitem으로 스크롤 시켜주시면 어떨까요?

앱을 써보니 좋은데요!!
다만 리스트의 이미지 로딩속도가 조금 아쉽네요.
사진을 올릴때 사진을 크롭&리사이즈해서 리스트에 사용하면 좋을것 같아요.

앱을 다운 받아보니 그런 증상이 있긴하네요.
지금 공유해주신 코드에서는 문제가 될 만한 부분은 없으나 불필요한 부분은 있네요.

listview item의 속성은 가능한 최소화하는 것이 성능적인 부분에서 좋습니다. 지금 보면 width : deviceWidth나 defaultImage는 template자체에 지정하고 item에서는 빼는게 좋습니다.

혹시 어쩌면 defaultImage가 자꾸 지정되면서 생기는 문제일수도 있을 것 같다는 생각이 들기도 합니다.

1개의 좋아요

말씀해주신 대로 해보니까 잘되네요.
왜 이런 생각을 못했을까요?
감사합니다 ^^

open 이벤트에서 가장 처음 아이템으로 강제 스크롤 시켜주었습니다.
$.listView.scrollToItem(0, 0);

1개의 좋아요

일단 정리를 좀 했습니다. ^^
ListItem에 속성으로 주니 먹히질 않고 이미지들이 잘려서 보이고 그래서 일일이 지정한건데 좀 더 들여다 봐야겠어요.
고칠게 한두군데가 아니네요 ㅜㅜ
감사합니다 ^^

아이템마다 변하는 값은 지정해야겠지만 변하지 않는값은 item에 넣지 말고 전부 template 에 한번만 지정하세요. ^^

화이팅.

2개의 좋아요

고쳐진줄 알았는데 ㅜㅜ 빈도가 줄어들긴 했지만 아직 간간히 증상이 나오네요.